Coverage Report

Created: 2025-06-06 01:55

/src/scnlib/src/scn/impl.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Transitively includes <scn/scan.h>
21
#include <scn/regex.h>
22
#include <scn/xchar.h>
23
24
#include <algorithm>
25
#include <clocale>
26
#include <cmath>
27
#include <cwchar>
28
#include <functional>
29
#include <vector>
30
31
#if SCN_HAS_BITOPS
32
#include <bit>
33
#elif SCN_MSVC
34
#include <IntSafe.h>
35
#include <intrin.h>
36
#elif SCN_POSIX && !SCN_GCC_COMPAT
37
38
SCN_CLANG_PUSH
39
SCN_CLANG_IGNORE("-Wreserved-id-macro")
40
#define _XOPEN_SOURCE 700
41
SCN_CLANG_POP
42
43
#include <strings.h>
44
#endif
45
46
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
47
#include <regex>
48
#if SCN_REGEX_BOOST_USE_ICU
49
#error "Can't use the ICU with std::regex"
50
#endif
51
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
52
#include <boost/regex.hpp>
53
#if SCN_REGEX_BOOST_USE_ICU
54
#include <boost/regex/icu.hpp>
55
#endif
56
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
57
#include <re2/re2.h>
58
#endif
59
60
namespace scn {
61
SCN_BEGIN_NAMESPACE
62
63
/////////////////////////////////////////////////////////////////
64
// Private ranges stuff
65
/////////////////////////////////////////////////////////////////
66
67
namespace ranges {
68
69
template <typename R>
70
using const_iterator_t = iterator_t<std::add_const_t<R>>;
71
72
// Like std::ranges::distance, utilizing .position if available
73
namespace detail::distance_ {
74
struct fn {
75
private:
76
    template <typename I, typename S>
77
    static constexpr auto impl(I i, S s, priority_tag<1>)
78
        -> decltype(s.position() - i.position())
79
    {
80
        return s.position() - i.position();
81
    }
82
83
    template <typename I, typename S>
84
    static constexpr auto impl(I i, S s, priority_tag<0>)
85
        -> std::enable_if_t<sized_sentinel_for<S, I>, iter_difference_t<I>>
86
41.5M
    {
87
41.5M
        return s - i;
88
41.5M
    }
std::__1::enable_if<sized_sentinel_for<char const*, char const*>, scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<char const*, char const*>(char const*, char const*, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
86
5.76M
    {
87
5.76M
        return s - i;
88
5.76M
    }
std::__1::enable_if<sized_sentinel_for<wchar_t const*, wchar_t const*>, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
86
35.8M
    {
87
35.8M
        return s - i;
88
35.8M
    }
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<char*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*>, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >, scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<wchar_t*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >(std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*>, scn::v4::detail::priority_tag<0ul>)
89
90
    template <typename I, typename S>
91
    static constexpr auto impl(I i, S s, priority_tag<0>)
92
        -> std::enable_if_t<!sized_sentinel_for<S, I>, iter_difference_t<I>>
93
36.1M
    {
94
36.1M
        iter_difference_t<I> counter{0};
95
69.3G
        while (i != s) {
96
69.2G
            ++i;
97
69.2G
            ++counter;
98
69.2G
        }
99
36.1M
        return counter;
100
36.1M
    }
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::priority_tag<0ul>)
std::__1::enable_if<!(sized_sentinel_for<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
93
1.36M
    {
94
1.36M
        iter_difference_t<I> counter{0};
95
11.8M
        while (i != s) {
96
10.5M
            ++i;
97
10.5M
            ++counter;
98
10.5M
        }
99
1.36M
        return counter;
100
1.36M
    }
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::priority_tag<0ul>)
std::__1::enable_if<!(sized_sentinel_for<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
93
34.7M
    {
94
34.7M
        iter_difference_t<I> counter{0};
95
69.3G
        while (i != s) {
96
69.2G
            ++i;
97
69.2G
            ++counter;
98
69.2G
        }
99
34.7M
        return counter;
100
34.7M
    }
std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
93
22
    {
94
22
        iter_difference_t<I> counter{0};
95
44
        while (i != s) {
96
22
            ++i;
97
22
            ++counter;
98
22
        }
99
22
        return counter;
100
22
    }
101
102
public:
103
    template <typename I, typename S>
104
    constexpr auto operator()(I first, S last) const
105
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
106
                            iter_difference_t<I>>
107
77.7M
    {
108
77.7M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
77.7M
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<char const*, char const*>(char const*, char const*) const
Line
Count
Source
107
5.76M
    {
108
5.76M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
5.76M
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*) const
Line
Count
Source
107
35.8M
    {
108
35.8M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
35.8M
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>)&&(sentinel_for<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator) const
Line
Count
Source
107
1.36M
    {
108
1.36M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
1.36M
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<std::__1::__wrap_iter<char*> >)&&(sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >), scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<char*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>)&&(sentinel_for<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator) const
Line
Count
Source
107
34.7M
    {
108
34.7M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
34.7M
    }
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>) const
Line
Count
Source
107
22
    {
108
22
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
22
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<std::__1::__wrap_iter<wchar_t*> >)&&(sentinel_for<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >), scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<wchar_t*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >(std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*>) const
110
};
111
}  // namespace detail::distance_
112
113
inline constexpr auto distance = detail::distance_::fn{};
114
115
namespace detail {
116
template <typename I, typename = void>
117
struct has_batch_advance : std::false_type {};
118
template <typename I>
119
struct has_batch_advance<I,
120
                         std::void_t<decltype(SCN_DECLVAL(I&).batch_advance(
121
                             SCN_DECLVAL(std::ptrdiff_t)))>> : std::true_type {
122
};
123
}  // namespace detail
124
125
// std::advance, utilizing .batch_advance if available
126
namespace detail::advance_ {
127
struct fn {
128
private:
129
    template <typename T>
130
    static constexpr T abs(T t)
131
237k
    {
132
237k
        if (t < T{0}) {
133
0
            return -t;
134
0
        }
135
237k
        return t;
136
237k
    }
137
138
    template <typename I>
139
    static constexpr auto impl(I& i, iter_difference_t<I> n, priority_tag<1>)
140
        -> std::enable_if_t<has_batch_advance<I>::value>
141
    {
142
        i.batch_advance(n);
143
    }
144
145
    template <typename I>
146
    static constexpr auto impl_i_n(I& i,
147
                                   iter_difference_t<I> n,
148
                                   priority_tag<0>)
149
        -> std::enable_if_t<random_access_iterator<I>>
150
5.83M
    {
151
5.83M
        i += n;
152
5.83M
    }
std::__1::enable_if<random_access_iterator<char const*>, void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
150
4.07M
    {
151
4.07M
        i += n;
152
4.07M
    }
std::__1::enable_if<random_access_iterator<wchar_t const*>, void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
150
1.75M
    {
151
1.75M
        i += n;
152
1.75M
    }
153
154
    template <typename I>
155
    static constexpr auto impl_i_n(I& i,
156
                                   iter_difference_t<I> n,
157
                                   priority_tag<0>)
158
        -> std::enable_if_t<bidirectional_iterator<I> &&
159
                            !random_access_iterator<I>>
160
4.34k
    {
161
4.34k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
4.34k
        if (n > zero) {
164
132
            while (n-- > zero) {
165
66
                ++i;
166
66
            }
167
66
        }
168
4.27k
        else {
169
4.27k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
4.27k
        }
173
4.34k
    }
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
160
1.72k
    {
161
1.72k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
1.72k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
1.72k
        else {
169
1.72k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
1.72k
        }
173
1.72k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
160
66
    {
161
66
        constexpr auto zero = iter_difference_t<I>{0};
162
163
66
        if (n > zero) {
164
132
            while (n-- > zero) {
165
66
                ++i;
166
66
            }
167
66
        }
168
0
        else {
169
0
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
0
        }
173
66
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
160
2.55k
    {
161
2.55k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
2.55k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
2.55k
        else {
169
2.55k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
2.55k
        }
173
2.55k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
174
175
    template <typename I>
176
    static constexpr auto impl_i_n(I& i,
177
                                   iter_difference_t<I> n,
178
                                   priority_tag<0>)
179
        -> std::enable_if_t<!bidirectional_iterator<I>>
180
4.69M
    {
181
49.0M
        while (n-- > iter_difference_t<I>{0}) {
182
44.3M
            ++i;
183
44.3M
        }
184
4.69M
    }
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
std::__1::enable_if<!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
180
3.44M
    {
181
11.2M
        while (n-- > iter_difference_t<I>{0}) {
182
7.80M
            ++i;
183
7.80M
        }
184
3.44M
    }
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
std::__1::enable_if<!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
180
1.25M
    {
181
37.7M
        while (n-- > iter_difference_t<I>{0}) {
182
36.5M
            ++i;
183
36.5M
        }
184
1.25M
    }
185
186
    template <typename I, typename S>
187
    static constexpr auto impl_i_s(I& i, S bound, priority_tag<2>)
188
        -> std::enable_if_t<std::is_assignable_v<I&, S>>
189
677k
    {
190
677k
        i = std::move(bound);
191
677k
    }
_ZN3scn2v46ranges6detail8advance_2fn8impl_i_sIPKcS7_EENSt3__19enable_ifIXsr3stdE15is_assignable_vIRT_T0_EEvE4typeESB_SC_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
189
353k
    {
190
353k
        i = std::move(bound);
191
353k
    }
_ZN3scn2v46ranges6detail8advance_2fn8impl_i_sIPKwS7_EENSt3__19enable_ifIXsr3stdE15is_assignable_vIRT_T0_EEvE4typeESB_SC_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
189
323k
    {
190
323k
        i = std::move(bound);
191
323k
    }
192
193
    template <typename I, typename S>
194
    static constexpr auto impl_i_s(I& i, S bound, priority_tag<1>)
195
        -> std::enable_if_t<sized_sentinel_for<S, I>>
196
    {
197
        fn::impl_i_n(i, bound - i);
198
    }
199
200
    template <typename I, typename S>
201
    static constexpr void impl_i_s(I& i, S bound, priority_tag<0>)
202
252
    {
203
4.12k
        while (i != bound) {
204
3.87k
            ++i;
205
3.87k
        }
206
252
    }
Unexecuted instantiation: void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
202
174
    {
203
2.74k
        while (i != bound) {
204
2.57k
            ++i;
205
2.57k
        }
206
174
    }
Unexecuted instantiation: void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
202
78
    {
203
1.37k
        while (i != bound) {
204
1.29k
            ++i;
205
1.29k
        }
206
78
    }
207
208
    template <typename I, typename S>
209
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
210
        -> std::enable_if_t<sized_sentinel_for<S, I>, iter_difference_t<I>>
211
118k
    {
212
118k
        if (fn::abs(n) >= fn::abs(bound - i)) {
213
114
            auto dist = bound - i;
214
114
            fn::impl_i_s(i, bound, priority_tag<2>{});
215
114
            return dist;
216
114
        }
217
118k
        fn::impl_i_n(i, n, priority_tag<1>{});
218
118k
        return n;
219
118k
    }
std::__1::enable_if<sized_sentinel_for<char const*, char const*>, scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<char const*, char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type, char const*)
Line
Count
Source
211
118k
    {
212
118k
        if (fn::abs(n) >= fn::abs(bound - i)) {
213
114
            auto dist = bound - i;
214
114
            fn::impl_i_s(i, bound, priority_tag<2>{});
215
114
            return dist;
216
114
        }
217
118k
        fn::impl_i_n(i, n, priority_tag<1>{});
218
118k
        return n;
219
118k
    }
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<wchar_t const*, wchar_t const*>, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<wchar_t const*, wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type, wchar_t const*)
220
221
    template <typename I, typename S>
222
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
223
        -> std::enable_if_t<bidirectional_iterator<I> &&
224
                                !sized_sentinel_for<S, I>,
225
                            iter_difference_t<I>>
226
4.95k
    {
227
4.95k
        constexpr iter_difference_t<I> zero{0};
228
4.95k
        iter_difference_t<I> counter{0};
229
230
4.95k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
4.95k
        else {
237
16.8k
            while (n-- > zero && i != bound) {
238
11.8k
                ++i;
239
11.8k
                ++counter;
240
11.8k
            }
241
4.95k
        }
242
243
4.95k
        return counter;
244
4.95k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
226
3.92k
    {
227
3.92k
        constexpr iter_difference_t<I> zero{0};
228
3.92k
        iter_difference_t<I> counter{0};
229
230
3.92k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
3.92k
        else {
237
12.9k
            while (n-- > zero && i != bound) {
238
9.03k
                ++i;
239
9.03k
                ++counter;
240
9.03k
            }
241
3.92k
        }
242
243
3.92k
        return counter;
244
3.92k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>)
Line
Count
Source
226
1.03k
    {
227
1.03k
        constexpr iter_difference_t<I> zero{0};
228
1.03k
        iter_difference_t<I> counter{0};
229
230
1.03k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
1.03k
        else {
237
3.85k
            while (n-- > zero && i != bound) {
238
2.82k
                ++i;
239
2.82k
                ++counter;
240
2.82k
            }
241
1.03k
        }
242
243
1.03k
        return counter;
244
1.03k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>)
245
246
    template <typename I, typename S>
247
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
248
        -> std::enable_if_t<!bidirectional_iterator<I> &&
249
                                !sized_sentinel_for<S, I>,
250
                            iter_difference_t<I>>
251
87.6k
    {
252
87.6k
        constexpr iter_difference_t<I> zero{0};
253
87.6k
        iter_difference_t<I> counter{0};
254
255
311k
        while (n-- > zero && i != bound) {
256
223k
            ++i;
257
223k
            ++counter;
258
223k
        }
259
260
87.6k
        return counter;
261
87.6k
    }
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
std::__1::enable_if<(!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>))&&(!(sized_sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>)), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
251
87.6k
    {
252
87.6k
        constexpr iter_difference_t<I> zero{0};
253
87.6k
        iter_difference_t<I> counter{0};
254
255
311k
        while (n-- > zero && i != bound) {
256
223k
            ++i;
257
223k
            ++counter;
258
223k
        }
259
260
87.6k
        return counter;
261
87.6k
    }
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>))&&(!(sized_sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>)), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t)
262
263
public:
264
    template <typename I>
265
    constexpr auto operator()(I& i, iter_difference_t<I> n) const
266
        -> std::enable_if_t<input_or_output_iterator<I>>
267
10.4M
    {
268
10.4M
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
10.4M
    }
std::__1::enable_if<input_or_output_iterator<char const*>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type) const
Line
Count
Source
267
3.95M
    {
268
3.95M
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
3.95M
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type) const
Line
Count
Source
267
1.75M
    {
268
1.75M
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
1.75M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type) const
Line
Count
Source
267
1.72k
    {
268
1.72k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
1.72k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type) const
Line
Count
Source
267
3.44M
    {
268
3.44M
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
3.44M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type) const
Line
Count
Source
267
66
    {
268
66
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
66
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type) const
Line
Count
Source
267
1.25M
    {
268
1.25M
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
1.25M
    }
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type) const
Line
Count
Source
267
2.55k
    {
268
2.55k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
2.55k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type) const
270
271
    template <typename I, typename S>
272
    constexpr auto operator()(I& i, S bound) const
273
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>
274
677k
    {
275
677k
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
677k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), void>::type scn::v4::ranges::detail::advance_::fn::operator()<char const*, char const*>(char const*&, char const*) const
Line
Count
Source
274
353k
    {
275
353k
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
353k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
274
174
    {
275
174
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
174
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), void>::type scn::v4::ranges::detail::advance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*&, wchar_t const*) const
Line
Count
Source
274
323k
    {
275
323k
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
323k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Line
Count
Source
274
78
    {
275
78
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
78
    }
277
278
    template <typename I, typename S>
279
    constexpr auto operator()(I& i, iter_difference_t<I> n, S bound) const
280
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
281
                            iter_difference_t<I>>
282
211k
    {
283
211k
        return n - fn::impl_i_n_s(i, n, bound);
284
211k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
282
3.92k
    {
283
3.92k
        return n - fn::impl_i_n_s(i, n, bound);
284
3.92k
    }
std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>)&&(sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t) const
Line
Count
Source
282
87.6k
    {
283
87.6k
        return n - fn::impl_i_n_s(i, n, bound);
284
87.6k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<char const*, char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type, char const*) const
Line
Count
Source
282
118k
    {
283
118k
        return n - fn::impl_i_n_s(i, n, bound);
284
118k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type, wchar_t const*) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>)&&(sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>) const
Line
Count
Source
282
1.03k
    {
283
1.03k
        return n - fn::impl_i_n_s(i, n, bound);
284
1.03k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>) const
285
};
286
}  // namespace detail::advance_
287
288
inline constexpr auto advance = detail::advance_::fn{};
289
290
namespace next_impl {
291
struct fn {
292
    template <typename I>
293
    constexpr auto operator()(I x) const
294
        -> std::enable_if_t<input_or_output_iterator<I>, I>
295
267M
    {
296
267M
        ++x;
297
267M
        return x;
298
267M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator) const
Line
Count
Source
295
2.12M
    {
296
2.12M
        ++x;
297
2.12M
        return x;
298
2.12M
    }
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>) const
Line
Count
Source
295
2.78k
    {
296
2.78k
        ++x;
297
2.78k
        return x;
298
2.78k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, char const*>::type scn::v4::ranges::next_impl::fn::operator()<char const*>(char const*) const
Line
Count
Source
295
1.43M
    {
296
1.43M
        ++x;
297
1.43M
        return x;
298
1.43M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator) const
Line
Count
Source
295
1.37M
    {
296
1.37M
        ++x;
297
1.37M
        return x;
298
1.37M
    }
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>) const
Line
Count
Source
295
1.80k
    {
296
1.80k
        ++x;
297
1.80k
        return x;
298
1.80k
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::next_impl::fn::operator()<wchar_t const*>(wchar_t const*) const
Line
Count
Source
295
263M
    {
296
263M
        ++x;
297
263M
        return x;
298
263M
    }
299
300
    template <typename I>
301
    constexpr auto operator()(I x, iter_difference_t<I> n) const
302
        -> std::enable_if_t<input_or_output_iterator<I>, I>
303
9.17M
    {
304
9.17M
        ranges::advance(x, n);
305
9.17M
        return x;
306
9.17M
    }
std::__1::enable_if<input_or_output_iterator<char const*>, char const*>::type scn::v4::ranges::next_impl::fn::operator()<char const*>(char const*, scn::v4::ranges::incrementable_traits<char const*>::difference_type) const
Line
Count
Source
303
3.95M
    {
304
3.95M
        ranges::advance(x, n);
305
3.95M
        return x;
306
3.95M
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::next_impl::fn::operator()<wchar_t const*>(wchar_t const*, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type) const
Line
Count
Source
303
1.75M
    {
304
1.75M
        ranges::advance(x, n);
305
1.75M
        return x;
306
1.75M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type) const
Line
Count
Source
303
2.21M
    {
304
2.21M
        ranges::advance(x, n);
305
2.21M
        return x;
306
2.21M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type) const
Line
Count
Source
303
66
    {
304
66
        ranges::advance(x, n);
305
66
        return x;
306
66
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type) const
Line
Count
Source
303
1.25M
    {
304
1.25M
        ranges::advance(x, n);
305
1.25M
        return x;
306
1.25M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type) const
307
308
    template <typename I, typename S>
309
    constexpr auto operator()(I x, S bound) const
310
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
311
                            I>
312
677k
    {
313
677k
        ranges::advance(x, bound);
314
677k
        return x;
315
677k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), char const*>::type scn::v4::ranges::next_impl::fn::operator()<char const*, char const*>(char const*, char const*) const
Line
Count
Source
312
353k
    {
313
353k
        ranges::advance(x, bound);
314
353k
        return x;
315
353k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
312
174
    {
313
174
        ranges::advance(x, bound);
314
174
        return x;
315
174
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), wchar_t const*>::type scn::v4::ranges::next_impl::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*) const
Line
Count
Source
312
323k
    {
313
323k
        ranges::advance(x, bound);
314
323k
        return x;
315
323k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Line
Count
Source
312
78
    {
313
78
        ranges::advance(x, bound);
314
78
        return x;
315
78
    }
316
317
    template <typename I, typename S>
318
    constexpr auto operator()(I x, iter_difference_t<I> n, S bound) const
319
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
320
                            I>
321
    {
322
        ranges::advance(x, n, bound);
323
        return x;
324
    }
325
};
326
}  // namespace next_impl
327
328
inline constexpr next_impl::fn next{};
329
330
// prev, for forward_iterators
331
namespace detail::prev_backtrack_ {
332
struct fn {
333
private:
334
    template <typename It>
335
    static constexpr auto impl(It it, It, priority_tag<2>)
336
        -> std::enable_if_t<bidirectional_iterator<It>, It>
337
    {
338
        --it;
339
        return it;
340
    }
341
342
    template <typename It>
343
    static constexpr auto impl(It it, It beg, priority_tag<1>)
344
        -> remove_cvref_t<decltype((void)beg.batch_advance(42), it)>
345
    {
346
        return beg.batch_advance(it.position() - 1);
347
    }
348
349
    template <typename It>
350
    static constexpr auto impl(It it, It beg, priority_tag<0>)
351
        -> std::enable_if_t<forward_iterator<It>, It>
352
    {
353
        SCN_EXPECT(it != beg);
354
355
        while (true) {
356
            auto tmp = beg;
357
            ++beg;
358
            if (beg == it) {
359
                return tmp;
360
            }
361
        }
362
    }
363
364
public:
365
    template <typename It>
366
    constexpr auto operator()(It it, It beg) const
367
        -> decltype(fn::impl(it, beg, priority_tag<2>{}))
368
    {
369
        return fn::impl(it, beg, priority_tag<2>{});
370
    }
371
};
372
}  // namespace detail::prev_backtrack_
373
374
inline constexpr auto prev_backtrack = detail::prev_backtrack_::fn{};
375
376
// operator<, for forward_iterators
377
namespace detail::less_backtrack_ {
378
struct fn {
379
private:
380
    template <typename It>
381
    static constexpr auto impl(It lhs, It rhs, It, priority_tag<2>)
382
        -> decltype(static_cast<void>(lhs < rhs), true)
383
    {
384
        return lhs < rhs;
385
    }
386
387
    template <typename It>
388
    static constexpr auto impl(It lhs, It rhs, It, priority_tag<1>)
389
        -> decltype(static_cast<void>(lhs.position() < rhs.position()), true)
390
    {
391
        return lhs.position() < rhs.position();
392
    }
393
394
    template <typename It>
395
    static constexpr auto impl(It lhs, It rhs, It beg, priority_tag<0>)
396
        -> std::enable_if_t<ranges::forward_iterator<It>, bool>
397
    {
398
        while (true) {
399
            if (beg == rhs) {
400
                return false;
401
            }
402
            if (beg == lhs) {
403
                return true;
404
            }
405
            ++beg;
406
        }
407
    }
408
409
public:
410
    template <typename It>
411
    constexpr auto operator()(It lhs, It rhs, It beg) const
412
        -> decltype(fn::impl(lhs, rhs, beg, priority_tag<2>{}))
413
    {
414
        return fn::impl(lhs, rhs, beg, priority_tag<2>{});
415
    }
416
};
417
}  // namespace detail::less_backtrack_
418
419
inline constexpr auto less_backtrack = detail::less_backtrack_::fn{};
420
421
}  // namespace ranges
422
423
/////////////////////////////////////////////////////////////////
424
// ASCII-only locale-free <cctype>
425
/////////////////////////////////////////////////////////////////
426
427
namespace impl {
428
inline constexpr std::array<bool, 256> is_ascii_space_lookup = {
429
    {false, false, false, false, false, false, false, false, false, true,
430
     true,  true,  true,  true,  false, false, false, false, false, false,
431
     false, false, false, false, false, false, false, false, false, false,
432
     false, false, true,  false, false, false, false, false, false, false,
433
     false, false, false, false, false, false, false, false, false, false,
434
     false, false, false, false, false, false, false, false, false, false,
435
     false, false, false, false, false, false, false, false, false, false,
436
     false, false, false, false, false, false, false, false, false, false,
437
     false, false, false, false, false, false, false, false, false, false,
438
     false, false, false, false, false, false, false, false, false, false,
439
     false, false, false, false, false, false, false, false, false, false,
440
     false, false, false, false, false, false, false, false, false, false,
441
     false, false, false, false, false, false, false, false, false, false,
442
     false, false, false, false, false, false, false, false, false, false,
443
     false, false, false, false, false, false, false, false, false, false,
444
     false, false, false, false, false, false, false, false, false, false,
445
     false, false, false, false, false, false, false, false, false, false,
446
     false, false, false, false, false, false, false, false, false, false,
447
     false, false, false, false, false, false, false, false, false, false,
448
     false, false, false, false, false, false, false, false, false, false,
449
     false, false, false, false, false, false, false, false, false, false,
450
     false, false, false, false, false, false, false, false, false, false,
451
     false, false, false, false, false, false, false, false, false, false,
452
     false, false, false, false, false, false, false, false, false, false,
453
     false, false, false, false, false, false, false, false, false, false,
454
     false, false, false, false, false, false}};
455
456
constexpr bool is_ascii_space(char ch) noexcept
457
15.4M
{
458
15.4M
    return is_ascii_space_lookup[static_cast<size_t>(
459
15.4M
        static_cast<unsigned char>(ch))];
460
15.4M
}
461
462
constexpr bool is_ascii_space(wchar_t ch) noexcept
463
0
{
464
0
    return ch == 0x20 || (ch >= 0x09 && ch <= 0x0d);
465
0
}
466
467
constexpr bool is_ascii_char(char ch) noexcept
468
959k
{
469
959k
    return static_cast<unsigned char>(ch) <= 127;
470
959k
}
471
472
constexpr bool is_ascii_char(wchar_t ch) noexcept
473
17.8k
{
474
17.8k
#if WCHAR_MIN < 0
475
17.8k
    return ch >= 0 && ch <= 127;
476
#else
477
    return ch <= 127;
478
#endif
479
17.8k
}
480
481
constexpr bool is_ascii_char(char32_t cp) noexcept
482
706k
{
483
706k
    return cp <= 127;
484
706k
}
485
486
/////////////////////////////////////////////////////////////////
487
// <bits>
488
/////////////////////////////////////////////////////////////////
489
490
inline int count_trailing_zeroes(uint64_t val)
491
0
{
492
0
    SCN_EXPECT(val != 0);
493
0
#if SCN_HAS_BITOPS
494
0
    return std::countr_zero(val);
495
0
#elif SCN_GCC_COMPAT
496
0
    return __builtin_ctzll(val);
497
0
#elif SCN_MSVC && SCN_WINDOWS_64BIT
498
0
    DWORD ret{};
499
0
    _BitScanForward64(&ret, val);
500
0
    return static_cast<int>(ret);
501
0
#elif SCN_MSVC && !SCN_WINDOWS_64BIT
502
0
    DWORD ret{};
503
0
    if (_BitScanForward(&ret, static_cast<uint32_t>(val))) {
504
0
        return static_cast<int>(ret);
505
0
    }
506
0
507
0
    _BitScanForward(&ret, static_cast<uint32_t>(val >> 32));
508
0
    return static_cast<int>(ret + 32);
509
0
#elif SCN_POSIX
510
0
    return ::ctzll(val);
511
0
#else
512
0
#define SCN_HAS_BITS_CTZ 0
513
0
    SCN_EXPECT(false);
514
0
    SCN_UNREACHABLE;
515
0
#endif
516
0
}
517
518
#ifndef SCN_HAS_BITS_CTZ
519
#define SCN_HAS_BITS_CTZ 1
520
#endif
521
522
constexpr uint64_t has_zero_byte(uint64_t word)
523
0
{
524
0
    return (word - 0x0101010101010101ull) & ~word & 0x8080808080808080ull;
525
0
}
526
527
constexpr uint64_t has_byte_between(uint64_t word, uint8_t a, uint8_t b)
528
0
{
529
0
    const auto m = static_cast<uint64_t>(a) - 1,
530
0
               n = static_cast<uint64_t>(b) + 1;
531
0
    return (((~0ull / 255 * (127 + (n)) - ((word) & ~0ull / 255 * 127)) &
532
0
             ~(word) &
533
0
             (((word) & ~0ull / 255 * 127) + ~0ull / 255 * (127 - (m)))) &
534
0
            (~0ull / 255 * 128));
535
0
}
536
537
constexpr uint64_t has_byte_greater(uint64_t word, uint8_t n)
538
4.19M
{
539
4.19M
    return (word + ~0ull / 255 * (127 - n) | word) & ~0ull / 255 * 128;
540
4.19M
}
541
542
inline size_t get_index_of_first_nonmatching_byte(uint64_t word)
543
0
{
544
0
    word ^= 0x8080808080808080ull;
545
0
    if (word == 0) {
546
0
        return 8;
547
0
    }
548
0
    return static_cast<size_t>(count_trailing_zeroes(word)) / 8;
549
0
}
550
551
inline size_t get_index_of_first_matching_byte(uint64_t word, uint64_t pattern)
552
0
{
553
0
    constexpr auto mask = 0x7f7f7f7f7f7f7f7full;
554
0
    auto input = word ^ pattern;
555
0
    auto tmp = (input & mask) + mask;
556
0
    tmp = ~(tmp | input | mask);
557
0
    return static_cast<size_t>(count_trailing_zeroes(tmp)) / 8;
558
0
}
559
560
constexpr uint32_t log2_fast(uint32_t val)
561
0
{
562
0
    constexpr uint8_t lookup[] = {0,  9,  1,  10, 13, 21, 2,  29, 11, 14, 16,
563
0
                                  18, 22, 25, 3,  30, 8,  12, 20, 28, 15, 17,
564
0
                                  24, 7,  19, 27, 23, 6,  26, 5,  4,  31};
565
0
566
0
    val |= val >> 1;
567
0
    val |= val >> 2;
568
0
    val |= val >> 4;
569
0
    val |= val >> 8;
570
0
    val |= val >> 16;
571
0
572
0
    return static_cast<uint32_t>(lookup[(val * 0x07c4acddu) >> 27]);
573
0
}
574
575
constexpr uint32_t log2_pow2_fast(uint32_t val)
576
0
{
577
0
    constexpr uint8_t lookup[] = {0,  1,  28, 2,  29, 14, 24, 3,  30, 22, 20,
578
0
                                  15, 25, 17, 4,  8,  31, 27, 13, 23, 21, 19,
579
0
                                  16, 7,  26, 12, 18, 6,  11, 5,  10, 9};
580
0
581
0
    return static_cast<uint32_t>(lookup[(val * 0x077cb531u) >> 27]);
582
0
}
583
584
constexpr uint64_t byteswap(uint64_t val)
585
0
{
586
0
    return (val & 0xFF00000000000000) >> 56 | (val & 0x00FF000000000000) >> 40 |
587
0
           (val & 0x0000FF0000000000) >> 24 | (val & 0x000000FF00000000) >> 8 |
588
0
           (val & 0x00000000FF000000) << 8 | (val & 0x0000000000FF0000) << 24 |
589
0
           (val & 0x000000000000FF00) << 40 | (val & 0x00000000000000FF) << 56;
590
0
}
591
592
/////////////////////////////////////////////////////////////////
593
// <function_ref>
594
/////////////////////////////////////////////////////////////////
595
596
namespace fnref_detail {
597
template <class T>
598
inline constexpr auto select_param_type = [] {
599
    if constexpr (std::is_trivially_copyable_v<T>) {
600
        return detail::type_identity<T>();
601
    }
602
    else {
603
        return std::add_rvalue_reference<T>();
604
    }
605
};
606
607
template <class T>
608
using param_t =
609
    typename std::invoke_result_t<decltype(select_param_type<T>)>::type;
610
611
template <typename Sig>
612
struct qual_fn_sig;
613
614
template <typename R, typename... Args>
615
struct qual_fn_sig<R(Args...)> {
616
    using function = R(Args...);
617
618
    static constexpr bool is_noexcept = false;
619
620
    template <typename... T>
621
    static constexpr bool is_invocable_using =
622
        std::is_invocable_r_v<R, T..., Args...>;
623
624
    template <typename T>
625
    using cv = T;
626
};
627
628
template <typename R, typename... Args>
629
struct qual_fn_sig<R(Args...) noexcept> {
630
    using function = R(Args...);
631
632
    static constexpr bool is_noexcept = true;
633
634
    template <typename... T>
635
    static constexpr bool is_invocable_using =
636
        std::is_nothrow_invocable_r_v<R, T..., Args...>;
637
638
    template <typename T>
639
    using cv = T;
640
};
641
642
template <typename R, typename... Args>
643
struct qual_fn_sig<R(Args...) const> : qual_fn_sig<R(Args...)> {
644
    template <typename T>
645
    using cv = T const;
646
};
647
648
template <typename R, typename... Args>
649
struct qual_fn_sig<R(Args...) const noexcept>
650
    : qual_fn_sig<R(Args...) noexcept> {
651
    template <typename T>
652
    using cv = T const;
653
};
654
655
struct base {
656
    union storage {
657
        constexpr storage() = default;
658
659
        template <typename T, std::enable_if_t<std::is_object_v<T>>* = nullptr>
660
20.4M
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
20.4M
        {
662
20.4M
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2INSt3__110__not_fn_tINS1_12function_refIFbcES9_EEEETnPNS6_9enable_ifIXsr3stdE11is_object_vIT_EEvE4typeELPv0EEEPSD_
Line
Count
Source
660
1.73M
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
1.73M
        {
662
1.73M
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2INSt3__110__not_fn_tINS1_12function_refIFbDiES9_EEEETnPNS6_9enable_ifIXsr3stdE11is_object_vIT_EEvE4typeELPv0EEEPSD_
Line
Count
Source
660
4.65M
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
4.65M
        {
662
4.65M
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_TnPNSQ_9enable_ifIXsr3stdE11is_object_vISS_EEvE4typeELPv0EEEPSS_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPSK_
Line
Count
Source
660
309k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
309k
        {
662
309k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_20calculate_text_widthIcEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vIS9_EEvE4typeELPv0EEEPS9_
Line
Count
Source
660
43.7k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
43.7k
        {
662
43.7k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_TnPNSN_9enable_ifIXsr3stdE11is_object_vISP_EEvE4typeELPv0EEEPSP_
Line
Count
Source
660
1.15k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
1.15k
        {
662
1.15k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
660
640
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
640
        {
662
640
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_TnPNSR_9enable_ifIXsr3stdE11is_object_vIST_EEvE4typeELPv0EEEPST_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
7.76k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
7.76k
        {
662
7.76k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
260k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
260k
        {
662
260k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
660
40.8k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
40.8k
        {
662
40.8k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
785k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
785k
        {
662
785k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
36.8k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
36.8k
        {
662
36.8k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
99.8k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
99.8k
        {
662
99.8k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
660
8
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
8
        {
662
8
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_TnPNSO_9enable_ifIXsr3stdE11is_object_vISQ_EEvE4typeELPv0EEEPSQ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
660
394
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
394
        {
662
394
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
7.16k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
7.16k
        {
662
7.16k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
660
12.7k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
12.7k
        {
662
12.7k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
301k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
301k
        {
662
301k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
33.7k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
33.7k
        {
662
33.7k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
93.7k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
93.7k
        {
662
93.7k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
39.1k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
39.1k
        {
662
39.1k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
103k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
103k
        {
662
103k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
660
12
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
12
        {
662
12
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
660
390
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
390
        {
662
390
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
35.3k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
35.3k
        {
662
35.3k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
96.4k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
96.4k
        {
662
96.4k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
40.3k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
40.3k
        {
662
40.3k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
105k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
105k
        {
662
105k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
36.6k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
36.6k
        {
662
36.6k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
97.3k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
97.3k
        {
662
97.3k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
116k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
116k
        {
662
116k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
660
1.08k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
1.08k
        {
662
1.08k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
1.11M
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
1.11M
        {
662
1.11M
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2INSt3__110__not_fn_tINS1_12function_refIFbwES9_EEEETnPNS6_9enable_ifIXsr3stdE11is_object_vIT_EEvE4typeELPv0EEEPSD_
Line
Count
Source
660
1.31M
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
1.31M
        {
662
1.31M
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_TnPNSQ_9enable_ifIXsr3stdE11is_object_vISS_EEvE4typeELPv0EEEPSS_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPSK_
Line
Count
Source
660
107k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
107k
        {
662
107k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_20calculate_text_widthIwEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vIS9_EEvE4typeELPv0EEEPS9_
Line
Count
Source
660
3.67k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
3.67k
        {
662
3.67k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISE_EEvE4typeELPv0EEEPSE_
Line
Count
Source
660
10.2k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
10.2k
        {
662
10.2k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_TnPNSN_9enable_ifIXsr3stdE11is_object_vISP_EEvE4typeELPv0EEEPSP_
Line
Count
Source
660
694
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
694
        {
662
694
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
660
514
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
514
        {
662
514
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_TnPNSE_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
Line
Count
Source
660
2.10M
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
2.10M
        {
662
2.10M
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_TnPNSR_9enable_ifIXsr3stdE11is_object_vIST_EEvE4typeELPv0EEEPST_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
177k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
177k
        {
662
177k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
660
15.1k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
15.1k
        {
662
15.1k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
695k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
695k
        {
662
695k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
26.6k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
26.6k
        {
662
26.6k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
88.1k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
88.1k
        {
662
88.1k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
660
26
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
26
        {
662
26
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_TnPNSO_9enable_ifIXsr3stdE11is_object_vISQ_EEvE4typeELPv0EEEPSQ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
660
242
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
242
        {
662
242
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
660
5.57k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
5.57k
        {
662
5.57k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
295k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
295k
        {
662
295k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
26.7k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
26.7k
        {
662
26.7k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
88.1k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
88.1k
        {
662
88.1k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
30.9k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
30.9k
        {
662
30.9k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
92.4k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
92.4k
        {
662
92.4k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
660
16
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
16
        {
662
16
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
660
230
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
230
        {
662
230
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
30.9k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
30.9k
        {
662
30.9k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
92.9k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
92.9k
        {
662
92.9k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
32.1k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
32.1k
        {
662
32.1k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
93.7k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
93.7k
        {
662
93.7k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
32.1k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
32.1k
        {
662
32.1k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
93.7k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
93.7k
        {
662
93.7k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
679k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
679k
        {
662
679k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
660
624
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
624
        {
662
624
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_TnPNSE_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
Line
Count
Source
660
1.36M
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
1.36M
        {
662
1.36M
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
1.40M
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
1.40M
        {
662
1.40M
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISE_EEvE4typeELPv0EEEPSE_
Line
Count
Source
660
723k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
723k
        {
662
723k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
50.6k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
50.6k
        {
662
50.6k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
53.7k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
53.7k
        {
662
53.7k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
54.9k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
54.9k
        {
662
54.9k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
51.6k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
51.6k
        {
662
51.6k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
53.9k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
53.9k
        {
662
53.9k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
55.1k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
55.1k
        {
662
55.1k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
2.55k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
2.55k
        {
662
2.55k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
40.0k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
40.0k
        {
662
40.0k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
47.0k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
47.0k
        {
662
47.0k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
48.2k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
48.2k
        {
662
48.2k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
660
1.67k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
1.67k
        {
662
1.67k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
40.0k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
40.0k
        {
662
40.0k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
46.3k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
46.3k
        {
662
46.3k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Line
Count
Source
660
48.1k
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
48.1k
        {
662
48.1k
        }
663
664
        template <typename T, std::enable_if_t<std::is_object_v<T>>* = nullptr>
665
27.2k
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
666
27.2k
        {
667
27.2k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPKSK_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISF_EEvE4typeELPv0EEEPKSF_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_TnPNSF_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Line
Count
Source
665
508
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
666
508
        {
667
508
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Line
Count
Source
665
2.37k
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
666
2.37k
        {
667
2.37k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
665
510
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
666
510
        {
667
510
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
665
396
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
666
396
        {
667
396
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
665
3.88k
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
666
3.88k
        {
667
3.88k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
665
4.98k
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
666
4.98k
        {
667
4.98k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPKSK_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISF_EEvE4typeELPv0EEEPKSF_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_TnPNSF_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Line
Count
Source
665
1.40k
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
666
1.40k
        {
667
1.40k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Line
Count
Source
665
3.56k
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
666
3.56k
        {
667
3.56k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
665
372
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
666
372
        {
667
372
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
665
216
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
666
216
        {
667
216
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
665
564
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
666
564
        {
667
564
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
665
7.30k
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
666
7.30k
        {
667
7.30k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
665
588
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
666
588
        {
667
588
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
665
566
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
666
566
        {
667
566
        }
668
669
        template <typename F,
670
                  std::enable_if_t<std::is_function_v<F>>* = nullptr>
671
        constexpr explicit storage(F* f) noexcept
672
            : m_fp(reinterpret_cast<decltype(m_fp)>(f))
673
        {
674
        }
675
676
        void* m_p{nullptr};
677
        const void* m_cp;
678
        void (*m_fp)();
679
    };
680
681
    template <typename T>
682
    static constexpr auto get(storage s)
683
103M
    {
684
103M
        if constexpr (std::is_const_v<T>) {
685
755k
            return static_cast<T*>(s.m_cp);
686
        }
687
102M
        else if constexpr (std::is_object_v<T>) {
688
102M
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
103M
    }
auto scn::v4::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v4::impl::function_ref<bool (char), bool (char)> > >(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
683
6.80M
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
6.80M
        else if constexpr (std::is_object_v<T>) {
688
6.80M
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
6.80M
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_lRKNSB_9fill_typeEbEUlcE_EEDaNS3_7storageE
auto scn::v4::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v4::impl::function_ref<bool (char32_t), bool (char32_t)> > >(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
683
10.2M
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
10.2M
        else if constexpr (std::is_object_v<T>) {
688
10.2M
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
10.2M
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNSA_9fill_typeEbEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEENS1_15take_width_viewINS9_ISF_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_iEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_iEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
1.15M
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
1.15M
        else if constexpr (std::is_object_v<T>) {
688
1.15M
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
1.15M
    }
auto scn::v4::impl::fnref_detail::base::get<scn::v4::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}>(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
683
55.0k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
55.0k
        else if constexpr (std::is_object_v<T>) {
688
55.0k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
55.0k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESG_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEENS0_13scan_expectedINS6_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESE_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSD_EENS1_15take_width_viewINS9_ISD_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
1.15k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
1.15k
        else if constexpr (std::is_object_v<T>) {
688
1.15k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
1.15k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
926
    {
684
926
        if constexpr (std::is_const_v<T>) {
685
926
            return static_cast<T*>(s.m_cp);
686
        }
687
        else if constexpr (std::is_object_v<T>) {
688
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
926
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
2.30k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
2.30k
        else if constexpr (std::is_object_v<T>) {
688
2.30k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
2.30k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESS_NSQ_17basic_string_viewIcNSQ_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
36.8k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
36.8k
        else if constexpr (std::is_object_v<T>) {
688
36.8k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
36.8k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_EUlcE_EEDaNS3_7storageE
Line
Count
Source
683
163k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
163k
        else if constexpr (std::is_object_v<T>) {
688
163k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
163k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
1.02M
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
1.02M
        else if constexpr (std::is_object_v<T>) {
688
1.02M
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
1.02M
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
137k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
137k
        else if constexpr (std::is_object_v<T>) {
688
137k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
137k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
3.03M
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
3.03M
        else if constexpr (std::is_object_v<T>) {
688
3.03M
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
3.03M
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
99.8k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
99.8k
        else if constexpr (std::is_object_v<T>) {
688
99.8k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
99.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
8
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
8
        else if constexpr (std::is_object_v<T>) {
688
8
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
8
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
394
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
394
        else if constexpr (std::is_object_v<T>) {
688
394
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
394
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
33.7k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
33.7k
        else if constexpr (std::is_object_v<T>) {
688
33.7k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
33.7k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_EUlcE_EEDaNS3_7storageE
Line
Count
Source
683
150k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
150k
        else if constexpr (std::is_object_v<T>) {
688
150k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
150k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE0_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
40.1k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
40.1k
        else if constexpr (std::is_object_v<T>) {
688
40.1k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
40.1k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
1.06M
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
1.06M
        else if constexpr (std::is_object_v<T>) {
688
1.06M
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
1.06M
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
93.7k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
93.7k
        else if constexpr (std::is_object_v<T>) {
688
93.7k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
93.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
39.1k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
39.1k
        else if constexpr (std::is_object_v<T>) {
688
39.1k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
39.1k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
103k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
103k
        else if constexpr (std::is_object_v<T>) {
688
103k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
103k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
12
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
12
        else if constexpr (std::is_object_v<T>) {
688
12
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
12
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
390
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
390
        else if constexpr (std::is_object_v<T>) {
688
390
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
390
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
35.3k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
35.3k
        else if constexpr (std::is_object_v<T>) {
688
35.3k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
35.3k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
96.4k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
96.4k
        else if constexpr (std::is_object_v<T>) {
688
96.4k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
96.4k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
40.3k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
40.3k
        else if constexpr (std::is_object_v<T>) {
688
40.3k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
40.3k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
105k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
105k
        else if constexpr (std::is_object_v<T>) {
688
105k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
105k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
36.6k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
36.6k
        else if constexpr (std::is_object_v<T>) {
688
36.6k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
36.6k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
97.3k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
97.3k
        else if constexpr (std::is_object_v<T>) {
688
97.3k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
97.3k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
661k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
661k
        else if constexpr (std::is_object_v<T>) {
688
661k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
661k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
5.30k
    {
684
5.30k
        if constexpr (std::is_const_v<T>) {
685
5.30k
            return static_cast<T*>(s.m_cp);
686
        }
687
        else if constexpr (std::is_object_v<T>) {
688
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
5.30k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
16.0k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
16.0k
        else if constexpr (std::is_object_v<T>) {
688
16.0k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
16.0k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
15.3k
    {
684
15.3k
        if constexpr (std::is_const_v<T>) {
685
15.3k
            return static_cast<T*>(s.m_cp);
686
        }
687
        else if constexpr (std::is_object_v<T>) {
688
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
15.3k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
7.53k
    {
684
7.53k
        if constexpr (std::is_const_v<T>) {
685
7.53k
            return static_cast<T*>(s.m_cp);
686
        }
687
        else if constexpr (std::is_object_v<T>) {
688
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
7.53k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
679k
    {
684
679k
        if constexpr (std::is_const_v<T>) {
685
679k
            return static_cast<T*>(s.m_cp);
686
        }
687
        else if constexpr (std::is_object_v<T>) {
688
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
679k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
13.8k
    {
684
13.8k
        if constexpr (std::is_const_v<T>) {
685
13.8k
            return static_cast<T*>(s.m_cp);
686
        }
687
        else if constexpr (std::is_object_v<T>) {
688
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
13.8k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
2.32M
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
2.32M
        else if constexpr (std::is_object_v<T>) {
688
2.32M
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
2.32M
    }
auto scn::v4::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v4::impl::function_ref<bool (wchar_t), bool (wchar_t)> > >(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
683
1.97M
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
1.97M
        else if constexpr (std::is_object_v<T>) {
688
1.97M
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
1.97M
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_lRKNSB_9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNSA_9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEENS1_15take_width_viewINS9_ISF_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_iEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_iEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
116k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
116k
        else if constexpr (std::is_object_v<T>) {
688
116k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
116k
    }
auto scn::v4::impl::fnref_detail::base::get<scn::v4::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}>(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
683
11.6k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
11.6k
        else if constexpr (std::is_object_v<T>) {
688
11.6k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
11.6k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESG_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEENS0_13scan_expectedINS6_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESE_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS6_9add_constIT_E4typeEEEEESD_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
17.0k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
17.0k
        else if constexpr (std::is_object_v<T>) {
688
17.0k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
17.0k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSD_EENS1_15take_width_viewINS9_ISD_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
718
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
718
        else if constexpr (std::is_object_v<T>) {
688
718
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
718
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
2.24k
    {
684
2.24k
        if constexpr (std::is_const_v<T>) {
685
2.24k
            return static_cast<T*>(s.m_cp);
686
        }
687
        else if constexpr (std::is_object_v<T>) {
688
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
2.24k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
916
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
916
        else if constexpr (std::is_object_v<T>) {
688
916
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
916
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
4.45M
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
4.45M
        else if constexpr (std::is_object_v<T>) {
688
4.45M
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
4.45M
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESS_NSQ_17basic_string_viewIcNSQ_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
26.6k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
26.6k
        else if constexpr (std::is_object_v<T>) {
688
26.6k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
26.6k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
283k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
283k
        else if constexpr (std::is_object_v<T>) {
688
283k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
283k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
44.4k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
44.4k
        else if constexpr (std::is_object_v<T>) {
688
44.4k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
44.4k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
1.05M
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
1.05M
        else if constexpr (std::is_object_v<T>) {
688
1.05M
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
1.05M
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
88.1k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
88.1k
        else if constexpr (std::is_object_v<T>) {
688
88.1k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
88.1k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
28
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
28
        else if constexpr (std::is_object_v<T>) {
688
28
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
28
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
246
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
246
        else if constexpr (std::is_object_v<T>) {
688
246
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
246
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
26.7k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
26.7k
        else if constexpr (std::is_object_v<T>) {
688
26.7k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
26.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE0_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
15.8k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
15.8k
        else if constexpr (std::is_object_v<T>) {
688
15.8k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
15.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
444k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
444k
        else if constexpr (std::is_object_v<T>) {
688
444k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
444k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
88.1k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
88.1k
        else if constexpr (std::is_object_v<T>) {
688
88.1k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
88.1k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
30.9k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
30.9k
        else if constexpr (std::is_object_v<T>) {
688
30.9k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
30.9k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
92.4k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
92.4k
        else if constexpr (std::is_object_v<T>) {
688
92.4k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
92.4k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
16
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
16
        else if constexpr (std::is_object_v<T>) {
688
16
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
16
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
230
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
230
        else if constexpr (std::is_object_v<T>) {
688
230
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
230
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
30.9k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
30.9k
        else if constexpr (std::is_object_v<T>) {
688
30.9k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
30.9k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
92.9k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
92.9k
        else if constexpr (std::is_object_v<T>) {
688
92.9k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
92.9k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
32.1k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
32.1k
        else if constexpr (std::is_object_v<T>) {
688
32.1k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
32.1k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
93.7k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
93.7k
        else if constexpr (std::is_object_v<T>) {
688
93.7k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
93.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
32.1k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
32.1k
        else if constexpr (std::is_object_v<T>) {
688
32.1k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
32.1k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
93.7k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
93.7k
        else if constexpr (std::is_object_v<T>) {
688
93.7k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
93.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
20.3M
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
20.3M
        else if constexpr (std::is_object_v<T>) {
688
20.3M
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
20.3M
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
4.53k
    {
684
4.53k
        if constexpr (std::is_const_v<T>) {
685
4.53k
            return static_cast<T*>(s.m_cp);
686
        }
687
        else if constexpr (std::is_object_v<T>) {
688
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
4.53k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
11.0k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
11.0k
        else if constexpr (std::is_object_v<T>) {
688
11.0k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
11.0k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
4.60k
    {
684
4.60k
        if constexpr (std::is_const_v<T>) {
685
4.60k
            return static_cast<T*>(s.m_cp);
686
        }
687
        else if constexpr (std::is_object_v<T>) {
688
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
4.60k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
2.14k
    {
684
2.14k
        if constexpr (std::is_const_v<T>) {
685
2.14k
            return static_cast<T*>(s.m_cp);
686
        }
687
        else if constexpr (std::is_object_v<T>) {
688
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
2.14k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
40.6M
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
40.6M
        else if constexpr (std::is_object_v<T>) {
688
40.6M
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
40.6M
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
7.17k
    {
684
7.17k
        if constexpr (std::is_const_v<T>) {
685
7.17k
            return static_cast<T*>(s.m_cp);
686
        }
687
        else if constexpr (std::is_object_v<T>) {
688
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
7.17k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
11.1k
    {
684
11.1k
        if constexpr (std::is_const_v<T>) {
685
11.1k
            return static_cast<T*>(s.m_cp);
686
        }
687
        else if constexpr (std::is_object_v<T>) {
688
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
11.1k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
2.80M
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
2.80M
        else if constexpr (std::is_object_v<T>) {
688
2.80M
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
2.80M
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS6_9add_constIT_E4typeEEEEESD_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
1.27M
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
1.27M
        else if constexpr (std::is_object_v<T>) {
688
1.27M
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
1.27M
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
50.6k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
50.6k
        else if constexpr (std::is_object_v<T>) {
688
50.6k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
50.6k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
53.7k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
53.7k
        else if constexpr (std::is_object_v<T>) {
688
53.7k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
53.7k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
54.9k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
54.9k
        else if constexpr (std::is_object_v<T>) {
688
54.9k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
54.9k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
51.6k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
51.6k
        else if constexpr (std::is_object_v<T>) {
688
51.6k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
51.6k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
53.9k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
53.9k
        else if constexpr (std::is_object_v<T>) {
688
53.9k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
53.9k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
55.1k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
55.1k
        else if constexpr (std::is_object_v<T>) {
688
55.1k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
55.1k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
804
    {
684
804
        if constexpr (std::is_const_v<T>) {
685
804
            return static_cast<T*>(s.m_cp);
686
        }
687
        else if constexpr (std::is_object_v<T>) {
688
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
804
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
4.01k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
4.01k
        else if constexpr (std::is_object_v<T>) {
688
4.01k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
4.01k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
40.0k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
40.0k
        else if constexpr (std::is_object_v<T>) {
688
40.0k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
40.0k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
47.0k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
47.0k
        else if constexpr (std::is_object_v<T>) {
688
47.0k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
47.0k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
48.2k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
48.2k
        else if constexpr (std::is_object_v<T>) {
688
48.2k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
48.2k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
830
    {
684
830
        if constexpr (std::is_const_v<T>) {
685
830
            return static_cast<T*>(s.m_cp);
686
        }
687
        else if constexpr (std::is_object_v<T>) {
688
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
830
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
2.18k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
2.18k
        else if constexpr (std::is_object_v<T>) {
688
2.18k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
2.18k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
40.0k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
40.0k
        else if constexpr (std::is_object_v<T>) {
688
40.0k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
40.0k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
46.3k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
46.3k
        else if constexpr (std::is_object_v<T>) {
688
46.3k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
46.3k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
48.1k
    {
684
        if constexpr (std::is_const_v<T>) {
685
            return static_cast<T*>(s.m_cp);
686
        }
687
48.1k
        else if constexpr (std::is_object_v<T>) {
688
48.1k
            return static_cast<T*>(s.m_p);
689
        }
690
        else {
691
            return reinterpret_cast<T*>(s.m_fp);
692
        }
693
48.1k
    }
694
};
695
}  // namespace fnref_detail
696
697
template <typename Sig,
698
          typename = typename fnref_detail::qual_fn_sig<Sig>::function>
699
class function_ref;
700
701
template <typename Sig, typename R, typename... Args>
702
class function_ref<Sig, R(Args...)> : fnref_detail::base {
703
    using signature = fnref_detail::qual_fn_sig<Sig>;
704
705
    template <typename T>
706
    using cv = typename signature::template cv<T>;
707
    template <typename T>
708
    using cvref = cv<T>&;
709
    static constexpr bool noex = signature::is_noexcept;
710
711
    template <typename... T>
712
    static constexpr bool is_invocable_using =
713
        signature::template is_invocable_using<T...>;
714
715
    using fwd_t = R(storage, fnref_detail::param_t<Args>...) noexcept(noex);
716
717
public:
718
    template <typename F,
719
              std::enable_if_t<std::is_function_v<F> &&
720
                               is_invocable_using<F>>* = nullptr>
721
    /*implicit*/ function_ref(F* f) noexcept
722
        : m_fptr([](storage fn,
723
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
724
              if constexpr (std::is_void_v<R>) {
725
                  get<F>(fn)(static_cast<decltype(args)>(args)...);
726
              }
727
              else {
728
                  return get<F>(fn)(static_cast<decltype(args)>(args)...);
729
              }
730
          }),
731
          m_storage(f)
732
    {
733
        SCN_EXPECT(f != nullptr);
734
    }
735
736
    template <typename F,
737
              typename T = std::remove_reference_t<F>,
738
              std::enable_if_t<detail::is_not_self<F, function_ref> &&
739
                               !std::is_member_pointer_v<T> &&
740
                               is_invocable_using<cvref<T>>>* = nullptr>
741
    /*implicit*/ constexpr function_ref(F&& f) noexcept
742
20.4M
        : m_fptr([](storage fn,
743
103M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
103M
              cvref<T> obj = *get<T>(fn);
745
103M
              if constexpr (std::is_void_v<R>) {
746
66.7k
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
103M
              else {
749
103M
                  return obj(static_cast<decltype(args)>(args)...);
750
103M
              }
751
103M
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_ENKUlNS1_12fnref_detail4base7storageEcE_clESK_c
Line
Count
Source
743
6.80M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6.80M
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
6.80M
              else {
749
6.80M
                  return obj(static_cast<decltype(args)>(args)...);
750
6.80M
              }
751
6.80M
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES17_c
_ZZN3scn2v44impl12function_refIFbDiES3_EC1INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_ENKUlNS1_12fnref_detail4base7storageEDiE_clESK_Di
Line
Count
Source
743
10.2M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
10.2M
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
10.2M
              else {
749
10.2M
                  return obj(static_cast<decltype(args)>(args)...);
750
10.2M
              }
751
10.2M
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES12_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_ENKUlNS1_12fnref_detail4base7storageEcE_clES19_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEcE_clES11_c
Line
Count
Source
743
1.15M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.15M
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
1.15M
              else {
749
1.15M
                  return obj(static_cast<decltype(args)>(args)...);
750
1.15M
              }
751
1.15M
          }),
_ZZN3scn2v44impl12function_refIFvDiES3_EC1IZNS1_20calculate_text_widthIcEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_ENKUlNS1_12fnref_detail4base7storageEDiE_clESO_Di
Line
Count
Source
743
55.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
55.0k
              cvref<T> obj = *get<T>(fn);
745
55.0k
              if constexpr (std::is_void_v<R>) {
746
55.0k
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
              else {
749
                  return obj(static_cast<decltype(args)>(args)...);
750
              }
751
55.0k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEDiE_clESX_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_ENKUlNS1_12fnref_detail4base7storageEcE_clES11_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Line
Count
Source
743
1.15k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.15k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
1.15k
              else {
749
1.15k
                  return obj(static_cast<decltype(args)>(args)...);
750
1.15k
              }
751
1.15k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Line
Count
Source
743
926
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
926
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
926
              else {
749
926
                  return obj(static_cast<decltype(args)>(args)...);
750
926
              }
751
926
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
743
2.30k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.30k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
2.30k
              else {
749
2.30k
                  return obj(static_cast<decltype(args)>(args)...);
750
2.30k
              }
751
2.30k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_ENKUlNS1_12fnref_detail4base7storageEcE_clES1D_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Line
Count
Source
743
36.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
36.8k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
36.8k
              else {
749
36.8k
                  return obj(static_cast<decltype(args)>(args)...);
750
36.8k
              }
751
36.8k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Line
Count
Source
743
163k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
163k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
163k
              else {
749
163k
                  return obj(static_cast<decltype(args)>(args)...);
750
163k
              }
751
163k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Line
Count
Source
743
1.02M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.02M
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
1.02M
              else {
749
1.02M
                  return obj(static_cast<decltype(args)>(args)...);
750
1.02M
              }
751
1.02M
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Line
Count
Source
743
137k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
137k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
137k
              else {
749
137k
                  return obj(static_cast<decltype(args)>(args)...);
750
137k
              }
751
137k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Line
Count
Source
743
3.03M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
3.03M
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
3.03M
              else {
749
3.03M
                  return obj(static_cast<decltype(args)>(args)...);
750
3.03M
              }
751
3.03M
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Line
Count
Source
743
99.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
99.8k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
99.8k
              else {
749
99.8k
                  return obj(static_cast<decltype(args)>(args)...);
750
99.8k
              }
751
99.8k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Line
Count
Source
743
8
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
8
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
8
              else {
749
8
                  return obj(static_cast<decltype(args)>(args)...);
750
8
              }
751
8
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_ENKUlNS1_12fnref_detail4base7storageEcE_clES1A_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Line
Count
Source
743
394
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
394
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
394
              else {
749
394
                  return obj(static_cast<decltype(args)>(args)...);
750
394
              }
751
394
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
743
33.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
33.7k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
33.7k
              else {
749
33.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
33.7k
              }
751
33.7k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Line
Count
Source
743
150k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
150k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
150k
              else {
749
150k
                  return obj(static_cast<decltype(args)>(args)...);
750
150k
              }
751
150k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
Line
Count
Source
743
40.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
40.1k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
40.1k
              else {
749
40.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
40.1k
              }
751
40.1k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Line
Count
Source
743
1.06M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.06M
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
1.06M
              else {
749
1.06M
                  return obj(static_cast<decltype(args)>(args)...);
750
1.06M
              }
751
1.06M
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
743
93.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
93.7k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
93.7k
              else {
749
93.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
93.7k
              }
751
93.7k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Line
Count
Source
743
39.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
39.1k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
39.1k
              else {
749
39.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
39.1k
              }
751
39.1k
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Line
Count
Source
743
103k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
103k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
103k
              else {
749
103k
                  return obj(static_cast<decltype(args)>(args)...);
750
103k
              }
751
103k
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
743
12
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
12
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
12
              else {
749
12
                  return obj(static_cast<decltype(args)>(args)...);
750
12
              }
751
12
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
743
390
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
390
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
390
              else {
749
390
                  return obj(static_cast<decltype(args)>(args)...);
750
390
              }
751
390
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
743
35.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
35.3k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
35.3k
              else {
749
35.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
35.3k
              }
751
35.3k
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
743
96.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
96.4k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
96.4k
              else {
749
96.4k
                  return obj(static_cast<decltype(args)>(args)...);
750
96.4k
              }
751
96.4k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Line
Count
Source
743
40.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
40.3k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
40.3k
              else {
749
40.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
40.3k
              }
751
40.3k
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Line
Count
Source
743
105k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
105k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
105k
              else {
749
105k
                  return obj(static_cast<decltype(args)>(args)...);
750
105k
              }
751
105k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
743
36.6k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
36.6k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
36.6k
              else {
749
36.6k
                  return obj(static_cast<decltype(args)>(args)...);
750
36.6k
              }
751
36.6k
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
743
97.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
97.3k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
97.3k
              else {
749
97.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
97.3k
              }
751
97.3k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEDiE_clES18_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Line
Count
Source
743
661k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
661k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
661k
              else {
749
661k
                  return obj(static_cast<decltype(args)>(args)...);
750
661k
              }
751
661k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES16_Di
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Line
Count
Source
743
5.30k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
5.30k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
5.30k
              else {
749
5.30k
                  return obj(static_cast<decltype(args)>(args)...);
750
5.30k
              }
751
5.30k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
743
16.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
16.0k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
16.0k
              else {
749
16.0k
                  return obj(static_cast<decltype(args)>(args)...);
750
16.0k
              }
751
16.0k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES15_Di
Line
Count
Source
743
15.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
15.3k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
15.3k
              else {
749
15.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
15.3k
              }
751
15.3k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Line
Count
Source
743
7.53k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
7.53k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
7.53k
              else {
749
7.53k
                  return obj(static_cast<decltype(args)>(args)...);
750
7.53k
              }
751
7.53k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clES13_Di
Line
Count
Source
743
679k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
679k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
679k
              else {
749
679k
                  return obj(static_cast<decltype(args)>(args)...);
750
679k
              }
751
679k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Line
Count
Source
743
13.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
13.8k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
13.8k
              else {
749
13.8k
                  return obj(static_cast<decltype(args)>(args)...);
750
13.8k
              }
751
13.8k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Line
Count
Source
743
2.32M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.32M
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
2.32M
              else {
749
2.32M
                  return obj(static_cast<decltype(args)>(args)...);
750
2.32M
              }
751
2.32M
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_ENKUlNS1_12fnref_detail4base7storageEwE_clESK_w
Line
Count
Source
743
1.97M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.97M
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
1.97M
              else {
749
1.97M
                  return obj(static_cast<decltype(args)>(args)...);
750
1.97M
              }
751
1.97M
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES17_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES12_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_ENKUlNS1_12fnref_detail4base7storageEwE_clES19_w
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEwE_clES11_w
Line
Count
Source
743
116k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
116k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
116k
              else {
749
116k
                  return obj(static_cast<decltype(args)>(args)...);
750
116k
              }
751
116k
          }),
_ZZN3scn2v44impl12function_refIFvDiES3_EC1IZNS1_20calculate_text_widthIwEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_ENKUlNS1_12fnref_detail4base7storageEDiE_clESO_Di
Line
Count
Source
743
11.6k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
11.6k
              cvref<T> obj = *get<T>(fn);
745
11.6k
              if constexpr (std::is_void_v<R>) {
746
11.6k
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
              else {
749
                  return obj(static_cast<decltype(args)>(args)...);
750
              }
751
11.6k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEDiE_clESX_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_ENKUlNS1_12fnref_detail4base7storageEwE_clES11_w
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_ENKUlNS1_12fnref_detail4base7storageEDiE_clESU_Di
Line
Count
Source
743
17.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
17.0k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
17.0k
              else {
749
17.0k
                  return obj(static_cast<decltype(args)>(args)...);
750
17.0k
              }
751
17.0k
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Line
Count
Source
743
718
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
718
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
718
              else {
749
718
                  return obj(static_cast<decltype(args)>(args)...);
750
718
              }
751
718
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Line
Count
Source
743
2.24k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.24k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
2.24k
              else {
749
2.24k
                  return obj(static_cast<decltype(args)>(args)...);
750
2.24k
              }
751
2.24k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
743
916
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
916
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
916
              else {
749
916
                  return obj(static_cast<decltype(args)>(args)...);
750
916
              }
751
916
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Line
Count
Source
743
4.45M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
4.45M
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
4.45M
              else {
749
4.45M
                  return obj(static_cast<decltype(args)>(args)...);
750
4.45M
              }
751
4.45M
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_ENKUlNS1_12fnref_detail4base7storageEwE_clES1D_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Line
Count
Source
743
26.6k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
26.6k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
26.6k
              else {
749
26.6k
                  return obj(static_cast<decltype(args)>(args)...);
750
26.6k
              }
751
26.6k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Line
Count
Source
743
283k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
283k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
283k
              else {
749
283k
                  return obj(static_cast<decltype(args)>(args)...);
750
283k
              }
751
283k
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Line
Count
Source
743
44.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
44.4k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
44.4k
              else {
749
44.4k
                  return obj(static_cast<decltype(args)>(args)...);
750
44.4k
              }
751
44.4k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Line
Count
Source
743
1.05M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.05M
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
1.05M
              else {
749
1.05M
                  return obj(static_cast<decltype(args)>(args)...);
750
1.05M
              }
751
1.05M
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Line
Count
Source
743
88.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
88.1k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
88.1k
              else {
749
88.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
88.1k
              }
751
88.1k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Line
Count
Source
743
28
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
28
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
28
              else {
749
28
                  return obj(static_cast<decltype(args)>(args)...);
750
28
              }
751
28
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_ENKUlNS1_12fnref_detail4base7storageEwE_clES1A_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Line
Count
Source
743
246
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
246
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
246
              else {
749
246
                  return obj(static_cast<decltype(args)>(args)...);
750
246
              }
751
246
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
743
26.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
26.7k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
26.7k
              else {
749
26.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
26.7k
              }
751
26.7k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Line
Count
Source
743
15.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
15.8k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
15.8k
              else {
749
15.8k
                  return obj(static_cast<decltype(args)>(args)...);
750
15.8k
              }
751
15.8k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Line
Count
Source
743
444k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
444k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
444k
              else {
749
444k
                  return obj(static_cast<decltype(args)>(args)...);
750
444k
              }
751
444k
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
743
88.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
88.1k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
88.1k
              else {
749
88.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
88.1k
              }
751
88.1k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Line
Count
Source
743
30.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
30.9k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
30.9k
              else {
749
30.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
30.9k
              }
751
30.9k
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Line
Count
Source
743
92.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
92.4k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
92.4k
              else {
749
92.4k
                  return obj(static_cast<decltype(args)>(args)...);
750
92.4k
              }
751
92.4k
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
743
16
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
16
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
16
              else {
749
16
                  return obj(static_cast<decltype(args)>(args)...);
750
16
              }
751
16
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
743
230
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
230
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
230
              else {
749
230
                  return obj(static_cast<decltype(args)>(args)...);
750
230
              }
751
230
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
743
30.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
30.9k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
30.9k
              else {
749
30.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
30.9k
              }
751
30.9k
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
743
92.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
92.9k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
92.9k
              else {
749
92.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
92.9k
              }
751
92.9k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Line
Count
Source
743
32.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
32.1k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
32.1k
              else {
749
32.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
32.1k
              }
751
32.1k
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Line
Count
Source
743
93.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
93.7k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
93.7k
              else {
749
93.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
93.7k
              }
751
93.7k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
743
32.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
32.1k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
32.1k
              else {
749
32.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
32.1k
              }
751
32.1k
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
743
93.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
93.7k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
93.7k
              else {
749
93.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
93.7k
              }
751
93.7k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEDiE_clES18_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Line
Count
Source
743
20.3M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
20.3M
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
20.3M
              else {
749
20.3M
                  return obj(static_cast<decltype(args)>(args)...);
750
20.3M
              }
751
20.3M
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES16_Di
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Line
Count
Source
743
4.53k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
4.53k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
4.53k
              else {
749
4.53k
                  return obj(static_cast<decltype(args)>(args)...);
750
4.53k
              }
751
4.53k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
743
11.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
11.0k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
11.0k
              else {
749
11.0k
                  return obj(static_cast<decltype(args)>(args)...);
750
11.0k
              }
751
11.0k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES15_Di
Line
Count
Source
743
4.60k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
4.60k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
4.60k
              else {
749
4.60k
                  return obj(static_cast<decltype(args)>(args)...);
750
4.60k
              }
751
4.60k
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Line
Count
Source
743
2.14k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.14k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
2.14k
              else {
749
2.14k
                  return obj(static_cast<decltype(args)>(args)...);
750
2.14k
              }
751
2.14k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Line
Count
Source
743
40.6M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
40.6M
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
40.6M
              else {
749
40.6M
                  return obj(static_cast<decltype(args)>(args)...);
750
40.6M
              }
751
40.6M
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clES13_Di
Line
Count
Source
743
7.17k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
7.17k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
7.17k
              else {
749
7.17k
                  return obj(static_cast<decltype(args)>(args)...);
750
7.17k
              }
751
7.17k
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Line
Count
Source
743
11.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
11.1k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
11.1k
              else {
749
11.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
11.1k
              }
751
11.1k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Line
Count
Source
743
2.80M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.80M
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
2.80M
              else {
749
2.80M
                  return obj(static_cast<decltype(args)>(args)...);
750
2.80M
              }
751
2.80M
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_ENKUlNS1_12fnref_detail4base7storageEDiE_clESU_Di
Line
Count
Source
743
1.27M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.27M
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
1.27M
              else {
749
1.27M
                  return obj(static_cast<decltype(args)>(args)...);
750
1.27M
              }
751
1.27M
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
Line
Count
Source
743
50.6k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
50.6k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
50.6k
              else {
749
50.6k
                  return obj(static_cast<decltype(args)>(args)...);
750
50.6k
              }
751
50.6k
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
Line
Count
Source
743
53.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
53.7k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
53.7k
              else {
749
53.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
53.7k
              }
751
53.7k
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
Line
Count
Source
743
54.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
54.9k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
54.9k
              else {
749
54.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
54.9k
              }
751
54.9k
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Line
Count
Source
743
51.6k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
51.6k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
51.6k
              else {
749
51.6k
                  return obj(static_cast<decltype(args)>(args)...);
750
51.6k
              }
751
51.6k
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Line
Count
Source
743
53.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
53.9k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
53.9k
              else {
749
53.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
53.9k
              }
751
53.9k
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Line
Count
Source
743
55.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
55.1k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
55.1k
              else {
749
55.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
55.1k
              }
751
55.1k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Line
Count
Source
743
804
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
804
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
804
              else {
749
804
                  return obj(static_cast<decltype(args)>(args)...);
750
804
              }
751
804
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Line
Count
Source
743
4.01k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
4.01k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
4.01k
              else {
749
4.01k
                  return obj(static_cast<decltype(args)>(args)...);
750
4.01k
              }
751
4.01k
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
Line
Count
Source
743
40.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
40.0k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
40.0k
              else {
749
40.0k
                  return obj(static_cast<decltype(args)>(args)...);
750
40.0k
              }
751
40.0k
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
Line
Count
Source
743
47.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
47.0k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
47.0k
              else {
749
47.0k
                  return obj(static_cast<decltype(args)>(args)...);
750
47.0k
              }
751
47.0k
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
Line
Count
Source
743
48.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
48.2k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
48.2k
              else {
749
48.2k
                  return obj(static_cast<decltype(args)>(args)...);
750
48.2k
              }
751
48.2k
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Line
Count
Source
743
830
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
830
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
830
              else {
749
830
                  return obj(static_cast<decltype(args)>(args)...);
750
830
              }
751
830
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Line
Count
Source
743
2.18k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.18k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
2.18k
              else {
749
2.18k
                  return obj(static_cast<decltype(args)>(args)...);
750
2.18k
              }
751
2.18k
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Line
Count
Source
743
40.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
40.0k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
40.0k
              else {
749
40.0k
                  return obj(static_cast<decltype(args)>(args)...);
750
40.0k
              }
751
40.0k
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Line
Count
Source
743
46.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
46.3k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
46.3k
              else {
749
46.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
46.3k
              }
751
46.3k
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Line
Count
Source
743
48.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
48.1k
              cvref<T> obj = *get<T>(fn);
745
              if constexpr (std::is_void_v<R>) {
746
                  obj(static_cast<decltype(args)>(args)...);
747
              }
748
48.1k
              else {
749
48.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
48.1k
              }
751
48.1k
          }),
752
20.4M
          m_storage(std::addressof(f))
753
20.4M
    {
754
20.4M
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_
Line
Count
Source
742
1.73M
        : m_fptr([](storage fn,
743
1.73M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.73M
              cvref<T> obj = *get<T>(fn);
745
1.73M
              if constexpr (std::is_void_v<R>) {
746
1.73M
                  obj(static_cast<decltype(args)>(args)...);
747
1.73M
              }
748
1.73M
              else {
749
1.73M
                  return obj(static_cast<decltype(args)>(args)...);
750
1.73M
              }
751
1.73M
          }),
752
1.73M
          m_storage(std::addressof(f))
753
1.73M
    {
754
1.73M
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_
_ZN3scn2v44impl12function_refIFbDiES3_EC2INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_
Line
Count
Source
742
4.65M
        : m_fptr([](storage fn,
743
4.65M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
4.65M
              cvref<T> obj = *get<T>(fn);
745
4.65M
              if constexpr (std::is_void_v<R>) {
746
4.65M
                  obj(static_cast<decltype(args)>(args)...);
747
4.65M
              }
748
4.65M
              else {
749
4.65M
                  return obj(static_cast<decltype(args)>(args)...);
750
4.65M
              }
751
4.65M
          }),
752
4.65M
          m_storage(std::addressof(f))
753
4.65M
    {
754
4.65M
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_
Line
Count
Source
742
309k
        : m_fptr([](storage fn,
743
309k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
309k
              cvref<T> obj = *get<T>(fn);
745
309k
              if constexpr (std::is_void_v<R>) {
746
309k
                  obj(static_cast<decltype(args)>(args)...);
747
309k
              }
748
309k
              else {
749
309k
                  return obj(static_cast<decltype(args)>(args)...);
750
309k
              }
751
309k
          }),
752
309k
          m_storage(std::addressof(f))
753
309k
    {
754
309k
    }
_ZN3scn2v44impl12function_refIFvDiES3_EC2IZNS1_20calculate_text_widthIcEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_
Line
Count
Source
742
43.7k
        : m_fptr([](storage fn,
743
43.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
43.7k
              cvref<T> obj = *get<T>(fn);
745
43.7k
              if constexpr (std::is_void_v<R>) {
746
43.7k
                  obj(static_cast<decltype(args)>(args)...);
747
43.7k
              }
748
43.7k
              else {
749
43.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
43.7k
              }
751
43.7k
          }),
752
43.7k
          m_storage(std::addressof(f))
753
43.7k
    {
754
43.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_
Line
Count
Source
742
1.15k
        : m_fptr([](storage fn,
743
1.15k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.15k
              cvref<T> obj = *get<T>(fn);
745
1.15k
              if constexpr (std::is_void_v<R>) {
746
1.15k
                  obj(static_cast<decltype(args)>(args)...);
747
1.15k
              }
748
1.15k
              else {
749
1.15k
                  return obj(static_cast<decltype(args)>(args)...);
750
1.15k
              }
751
1.15k
          }),
752
1.15k
          m_storage(std::addressof(f))
753
1.15k
    {
754
1.15k
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Line
Count
Source
742
508
        : m_fptr([](storage fn,
743
508
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
508
              cvref<T> obj = *get<T>(fn);
745
508
              if constexpr (std::is_void_v<R>) {
746
508
                  obj(static_cast<decltype(args)>(args)...);
747
508
              }
748
508
              else {
749
508
                  return obj(static_cast<decltype(args)>(args)...);
750
508
              }
751
508
          }),
752
508
          m_storage(std::addressof(f))
753
508
    {
754
508
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
742
640
        : m_fptr([](storage fn,
743
640
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
640
              cvref<T> obj = *get<T>(fn);
745
640
              if constexpr (std::is_void_v<R>) {
746
640
                  obj(static_cast<decltype(args)>(args)...);
747
640
              }
748
640
              else {
749
640
                  return obj(static_cast<decltype(args)>(args)...);
750
640
              }
751
640
          }),
752
640
          m_storage(std::addressof(f))
753
640
    {
754
640
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Line
Count
Source
742
36.8k
        : m_fptr([](storage fn,
743
36.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
36.8k
              cvref<T> obj = *get<T>(fn);
745
36.8k
              if constexpr (std::is_void_v<R>) {
746
36.8k
                  obj(static_cast<decltype(args)>(args)...);
747
36.8k
              }
748
36.8k
              else {
749
36.8k
                  return obj(static_cast<decltype(args)>(args)...);
750
36.8k
              }
751
36.8k
          }),
752
36.8k
          m_storage(std::addressof(f))
753
36.8k
    {
754
36.8k
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Line
Count
Source
742
7.76k
        : m_fptr([](storage fn,
743
7.76k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
7.76k
              cvref<T> obj = *get<T>(fn);
745
7.76k
              if constexpr (std::is_void_v<R>) {
746
7.76k
                  obj(static_cast<decltype(args)>(args)...);
747
7.76k
              }
748
7.76k
              else {
749
7.76k
                  return obj(static_cast<decltype(args)>(args)...);
750
7.76k
              }
751
7.76k
          }),
752
7.76k
          m_storage(std::addressof(f))
753
7.76k
    {
754
7.76k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Line
Count
Source
742
260k
        : m_fptr([](storage fn,
743
260k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
260k
              cvref<T> obj = *get<T>(fn);
745
260k
              if constexpr (std::is_void_v<R>) {
746
260k
                  obj(static_cast<decltype(args)>(args)...);
747
260k
              }
748
260k
              else {
749
260k
                  return obj(static_cast<decltype(args)>(args)...);
750
260k
              }
751
260k
          }),
752
260k
          m_storage(std::addressof(f))
753
260k
    {
754
260k
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
742
40.8k
        : m_fptr([](storage fn,
743
40.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
40.8k
              cvref<T> obj = *get<T>(fn);
745
40.8k
              if constexpr (std::is_void_v<R>) {
746
40.8k
                  obj(static_cast<decltype(args)>(args)...);
747
40.8k
              }
748
40.8k
              else {
749
40.8k
                  return obj(static_cast<decltype(args)>(args)...);
750
40.8k
              }
751
40.8k
          }),
752
40.8k
          m_storage(std::addressof(f))
753
40.8k
    {
754
40.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Line
Count
Source
742
785k
        : m_fptr([](storage fn,
743
785k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
785k
              cvref<T> obj = *get<T>(fn);
745
785k
              if constexpr (std::is_void_v<R>) {
746
785k
                  obj(static_cast<decltype(args)>(args)...);
747
785k
              }
748
785k
              else {
749
785k
                  return obj(static_cast<decltype(args)>(args)...);
750
785k
              }
751
785k
          }),
752
785k
          m_storage(std::addressof(f))
753
785k
    {
754
785k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Line
Count
Source
742
99.8k
        : m_fptr([](storage fn,
743
99.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
99.8k
              cvref<T> obj = *get<T>(fn);
745
99.8k
              if constexpr (std::is_void_v<R>) {
746
99.8k
                  obj(static_cast<decltype(args)>(args)...);
747
99.8k
              }
748
99.8k
              else {
749
99.8k
                  return obj(static_cast<decltype(args)>(args)...);
750
99.8k
              }
751
99.8k
          }),
752
99.8k
          m_storage(std::addressof(f))
753
99.8k
    {
754
99.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
742
8
        : m_fptr([](storage fn,
743
8
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
8
              cvref<T> obj = *get<T>(fn);
745
8
              if constexpr (std::is_void_v<R>) {
746
8
                  obj(static_cast<decltype(args)>(args)...);
747
8
              }
748
8
              else {
749
8
                  return obj(static_cast<decltype(args)>(args)...);
750
8
              }
751
8
          }),
752
8
          m_storage(std::addressof(f))
753
8
    {
754
8
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
742
394
        : m_fptr([](storage fn,
743
394
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
394
              cvref<T> obj = *get<T>(fn);
745
394
              if constexpr (std::is_void_v<R>) {
746
394
                  obj(static_cast<decltype(args)>(args)...);
747
394
              }
748
394
              else {
749
394
                  return obj(static_cast<decltype(args)>(args)...);
750
394
              }
751
394
          }),
752
394
          m_storage(std::addressof(f))
753
394
    {
754
394
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
742
33.7k
        : m_fptr([](storage fn,
743
33.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
33.7k
              cvref<T> obj = *get<T>(fn);
745
33.7k
              if constexpr (std::is_void_v<R>) {
746
33.7k
                  obj(static_cast<decltype(args)>(args)...);
747
33.7k
              }
748
33.7k
              else {
749
33.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
33.7k
              }
751
33.7k
          }),
752
33.7k
          m_storage(std::addressof(f))
753
33.7k
    {
754
33.7k
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
742
7.16k
        : m_fptr([](storage fn,
743
7.16k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
7.16k
              cvref<T> obj = *get<T>(fn);
745
7.16k
              if constexpr (std::is_void_v<R>) {
746
7.16k
                  obj(static_cast<decltype(args)>(args)...);
747
7.16k
              }
748
7.16k
              else {
749
7.16k
                  return obj(static_cast<decltype(args)>(args)...);
750
7.16k
              }
751
7.16k
          }),
752
7.16k
          m_storage(std::addressof(f))
753
7.16k
    {
754
7.16k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_
Line
Count
Source
742
12.7k
        : m_fptr([](storage fn,
743
12.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
12.7k
              cvref<T> obj = *get<T>(fn);
745
12.7k
              if constexpr (std::is_void_v<R>) {
746
12.7k
                  obj(static_cast<decltype(args)>(args)...);
747
12.7k
              }
748
12.7k
              else {
749
12.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
12.7k
              }
751
12.7k
          }),
752
12.7k
          m_storage(std::addressof(f))
753
12.7k
    {
754
12.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
742
301k
        : m_fptr([](storage fn,
743
301k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
301k
              cvref<T> obj = *get<T>(fn);
745
301k
              if constexpr (std::is_void_v<R>) {
746
301k
                  obj(static_cast<decltype(args)>(args)...);
747
301k
              }
748
301k
              else {
749
301k
                  return obj(static_cast<decltype(args)>(args)...);
750
301k
              }
751
301k
          }),
752
301k
          m_storage(std::addressof(f))
753
301k
    {
754
301k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
742
93.7k
        : m_fptr([](storage fn,
743
93.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
93.7k
              cvref<T> obj = *get<T>(fn);
745
93.7k
              if constexpr (std::is_void_v<R>) {
746
93.7k
                  obj(static_cast<decltype(args)>(args)...);
747
93.7k
              }
748
93.7k
              else {
749
93.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
93.7k
              }
751
93.7k
          }),
752
93.7k
          m_storage(std::addressof(f))
753
93.7k
    {
754
93.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Line
Count
Source
742
39.1k
        : m_fptr([](storage fn,
743
39.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
39.1k
              cvref<T> obj = *get<T>(fn);
745
39.1k
              if constexpr (std::is_void_v<R>) {
746
39.1k
                  obj(static_cast<decltype(args)>(args)...);
747
39.1k
              }
748
39.1k
              else {
749
39.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
39.1k
              }
751
39.1k
          }),
752
39.1k
          m_storage(std::addressof(f))
753
39.1k
    {
754
39.1k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Line
Count
Source
742
103k
        : m_fptr([](storage fn,
743
103k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
103k
              cvref<T> obj = *get<T>(fn);
745
103k
              if constexpr (std::is_void_v<R>) {
746
103k
                  obj(static_cast<decltype(args)>(args)...);
747
103k
              }
748
103k
              else {
749
103k
                  return obj(static_cast<decltype(args)>(args)...);
750
103k
              }
751
103k
          }),
752
103k
          m_storage(std::addressof(f))
753
103k
    {
754
103k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
742
12
        : m_fptr([](storage fn,
743
12
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
12
              cvref<T> obj = *get<T>(fn);
745
12
              if constexpr (std::is_void_v<R>) {
746
12
                  obj(static_cast<decltype(args)>(args)...);
747
12
              }
748
12
              else {
749
12
                  return obj(static_cast<decltype(args)>(args)...);
750
12
              }
751
12
          }),
752
12
          m_storage(std::addressof(f))
753
12
    {
754
12
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
742
390
        : m_fptr([](storage fn,
743
390
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
390
              cvref<T> obj = *get<T>(fn);
745
390
              if constexpr (std::is_void_v<R>) {
746
390
                  obj(static_cast<decltype(args)>(args)...);
747
390
              }
748
390
              else {
749
390
                  return obj(static_cast<decltype(args)>(args)...);
750
390
              }
751
390
          }),
752
390
          m_storage(std::addressof(f))
753
390
    {
754
390
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
742
35.3k
        : m_fptr([](storage fn,
743
35.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
35.3k
              cvref<T> obj = *get<T>(fn);
745
35.3k
              if constexpr (std::is_void_v<R>) {
746
35.3k
                  obj(static_cast<decltype(args)>(args)...);
747
35.3k
              }
748
35.3k
              else {
749
35.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
35.3k
              }
751
35.3k
          }),
752
35.3k
          m_storage(std::addressof(f))
753
35.3k
    {
754
35.3k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
742
96.4k
        : m_fptr([](storage fn,
743
96.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
96.4k
              cvref<T> obj = *get<T>(fn);
745
96.4k
              if constexpr (std::is_void_v<R>) {
746
96.4k
                  obj(static_cast<decltype(args)>(args)...);
747
96.4k
              }
748
96.4k
              else {
749
96.4k
                  return obj(static_cast<decltype(args)>(args)...);
750
96.4k
              }
751
96.4k
          }),
752
96.4k
          m_storage(std::addressof(f))
753
96.4k
    {
754
96.4k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Line
Count
Source
742
40.3k
        : m_fptr([](storage fn,
743
40.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
40.3k
              cvref<T> obj = *get<T>(fn);
745
40.3k
              if constexpr (std::is_void_v<R>) {
746
40.3k
                  obj(static_cast<decltype(args)>(args)...);
747
40.3k
              }
748
40.3k
              else {
749
40.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
40.3k
              }
751
40.3k
          }),
752
40.3k
          m_storage(std::addressof(f))
753
40.3k
    {
754
40.3k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Line
Count
Source
742
105k
        : m_fptr([](storage fn,
743
105k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
105k
              cvref<T> obj = *get<T>(fn);
745
105k
              if constexpr (std::is_void_v<R>) {
746
105k
                  obj(static_cast<decltype(args)>(args)...);
747
105k
              }
748
105k
              else {
749
105k
                  return obj(static_cast<decltype(args)>(args)...);
750
105k
              }
751
105k
          }),
752
105k
          m_storage(std::addressof(f))
753
105k
    {
754
105k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
742
36.6k
        : m_fptr([](storage fn,
743
36.6k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
36.6k
              cvref<T> obj = *get<T>(fn);
745
36.6k
              if constexpr (std::is_void_v<R>) {
746
36.6k
                  obj(static_cast<decltype(args)>(args)...);
747
36.6k
              }
748
36.6k
              else {
749
36.6k
                  return obj(static_cast<decltype(args)>(args)...);
750
36.6k
              }
751
36.6k
          }),
752
36.6k
          m_storage(std::addressof(f))
753
36.6k
    {
754
36.6k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
742
97.3k
        : m_fptr([](storage fn,
743
97.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
97.3k
              cvref<T> obj = *get<T>(fn);
745
97.3k
              if constexpr (std::is_void_v<R>) {
746
97.3k
                  obj(static_cast<decltype(args)>(args)...);
747
97.3k
              }
748
97.3k
              else {
749
97.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
97.3k
              }
751
97.3k
          }),
752
97.3k
          m_storage(std::addressof(f))
753
97.3k
    {
754
97.3k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
742
116k
        : m_fptr([](storage fn,
743
116k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
116k
              cvref<T> obj = *get<T>(fn);
745
116k
              if constexpr (std::is_void_v<R>) {
746
116k
                  obj(static_cast<decltype(args)>(args)...);
747
116k
              }
748
116k
              else {
749
116k
                  return obj(static_cast<decltype(args)>(args)...);
750
116k
              }
751
116k
          }),
752
116k
          m_storage(std::addressof(f))
753
116k
    {
754
116k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
Line
Count
Source
742
2.37k
        : m_fptr([](storage fn,
743
2.37k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.37k
              cvref<T> obj = *get<T>(fn);
745
2.37k
              if constexpr (std::is_void_v<R>) {
746
2.37k
                  obj(static_cast<decltype(args)>(args)...);
747
2.37k
              }
748
2.37k
              else {
749
2.37k
                  return obj(static_cast<decltype(args)>(args)...);
750
2.37k
              }
751
2.37k
          }),
752
2.37k
          m_storage(std::addressof(f))
753
2.37k
    {
754
2.37k
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
742
1.08k
        : m_fptr([](storage fn,
743
1.08k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.08k
              cvref<T> obj = *get<T>(fn);
745
1.08k
              if constexpr (std::is_void_v<R>) {
746
1.08k
                  obj(static_cast<decltype(args)>(args)...);
747
1.08k
              }
748
1.08k
              else {
749
1.08k
                  return obj(static_cast<decltype(args)>(args)...);
750
1.08k
              }
751
1.08k
          }),
752
1.08k
          m_storage(std::addressof(f))
753
1.08k
    {
754
1.08k
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
742
510
        : m_fptr([](storage fn,
743
510
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
510
              cvref<T> obj = *get<T>(fn);
745
510
              if constexpr (std::is_void_v<R>) {
746
510
                  obj(static_cast<decltype(args)>(args)...);
747
510
              }
748
510
              else {
749
510
                  return obj(static_cast<decltype(args)>(args)...);
750
510
              }
751
510
          }),
752
510
          m_storage(std::addressof(f))
753
510
    {
754
510
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
742
396
        : m_fptr([](storage fn,
743
396
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
396
              cvref<T> obj = *get<T>(fn);
745
396
              if constexpr (std::is_void_v<R>) {
746
396
                  obj(static_cast<decltype(args)>(args)...);
747
396
              }
748
396
              else {
749
396
                  return obj(static_cast<decltype(args)>(args)...);
750
396
              }
751
396
          }),
752
396
          m_storage(std::addressof(f))
753
396
    {
754
396
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
742
3.88k
        : m_fptr([](storage fn,
743
3.88k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
3.88k
              cvref<T> obj = *get<T>(fn);
745
3.88k
              if constexpr (std::is_void_v<R>) {
746
3.88k
                  obj(static_cast<decltype(args)>(args)...);
747
3.88k
              }
748
3.88k
              else {
749
3.88k
                  return obj(static_cast<decltype(args)>(args)...);
750
3.88k
              }
751
3.88k
          }),
752
3.88k
          m_storage(std::addressof(f))
753
3.88k
    {
754
3.88k
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
742
4.98k
        : m_fptr([](storage fn,
743
4.98k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
4.98k
              cvref<T> obj = *get<T>(fn);
745
4.98k
              if constexpr (std::is_void_v<R>) {
746
4.98k
                  obj(static_cast<decltype(args)>(args)...);
747
4.98k
              }
748
4.98k
              else {
749
4.98k
                  return obj(static_cast<decltype(args)>(args)...);
750
4.98k
              }
751
4.98k
          }),
752
4.98k
          m_storage(std::addressof(f))
753
4.98k
    {
754
4.98k
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
742
1.11M
        : m_fptr([](storage fn,
743
1.11M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.11M
              cvref<T> obj = *get<T>(fn);
745
1.11M
              if constexpr (std::is_void_v<R>) {
746
1.11M
                  obj(static_cast<decltype(args)>(args)...);
747
1.11M
              }
748
1.11M
              else {
749
1.11M
                  return obj(static_cast<decltype(args)>(args)...);
750
1.11M
              }
751
1.11M
          }),
752
1.11M
          m_storage(std::addressof(f))
753
1.11M
    {
754
1.11M
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_
Line
Count
Source
742
1.31M
        : m_fptr([](storage fn,
743
1.31M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.31M
              cvref<T> obj = *get<T>(fn);
745
1.31M
              if constexpr (std::is_void_v<R>) {
746
1.31M
                  obj(static_cast<decltype(args)>(args)...);
747
1.31M
              }
748
1.31M
              else {
749
1.31M
                  return obj(static_cast<decltype(args)>(args)...);
750
1.31M
              }
751
1.31M
          }),
752
1.31M
          m_storage(std::addressof(f))
753
1.31M
    {
754
1.31M
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_
Line
Count
Source
742
107k
        : m_fptr([](storage fn,
743
107k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
107k
              cvref<T> obj = *get<T>(fn);
745
107k
              if constexpr (std::is_void_v<R>) {
746
107k
                  obj(static_cast<decltype(args)>(args)...);
747
107k
              }
748
107k
              else {
749
107k
                  return obj(static_cast<decltype(args)>(args)...);
750
107k
              }
751
107k
          }),
752
107k
          m_storage(std::addressof(f))
753
107k
    {
754
107k
    }
_ZN3scn2v44impl12function_refIFvDiES3_EC2IZNS1_20calculate_text_widthIwEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_
Line
Count
Source
742
3.67k
        : m_fptr([](storage fn,
743
3.67k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
3.67k
              cvref<T> obj = *get<T>(fn);
745
3.67k
              if constexpr (std::is_void_v<R>) {
746
3.67k
                  obj(static_cast<decltype(args)>(args)...);
747
3.67k
              }
748
3.67k
              else {
749
3.67k
                  return obj(static_cast<decltype(args)>(args)...);
750
3.67k
              }
751
3.67k
          }),
752
3.67k
          m_storage(std::addressof(f))
753
3.67k
    {
754
3.67k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_
Line
Count
Source
742
10.2k
        : m_fptr([](storage fn,
743
10.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
10.2k
              cvref<T> obj = *get<T>(fn);
745
10.2k
              if constexpr (std::is_void_v<R>) {
746
10.2k
                  obj(static_cast<decltype(args)>(args)...);
747
10.2k
              }
748
10.2k
              else {
749
10.2k
                  return obj(static_cast<decltype(args)>(args)...);
750
10.2k
              }
751
10.2k
          }),
752
10.2k
          m_storage(std::addressof(f))
753
10.2k
    {
754
10.2k
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_
Line
Count
Source
742
694
        : m_fptr([](storage fn,
743
694
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
694
              cvref<T> obj = *get<T>(fn);
745
694
              if constexpr (std::is_void_v<R>) {
746
694
                  obj(static_cast<decltype(args)>(args)...);
747
694
              }
748
694
              else {
749
694
                  return obj(static_cast<decltype(args)>(args)...);
750
694
              }
751
694
          }),
752
694
          m_storage(std::addressof(f))
753
694
    {
754
694
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Line
Count
Source
742
1.40k
        : m_fptr([](storage fn,
743
1.40k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.40k
              cvref<T> obj = *get<T>(fn);
745
1.40k
              if constexpr (std::is_void_v<R>) {
746
1.40k
                  obj(static_cast<decltype(args)>(args)...);
747
1.40k
              }
748
1.40k
              else {
749
1.40k
                  return obj(static_cast<decltype(args)>(args)...);
750
1.40k
              }
751
1.40k
          }),
752
1.40k
          m_storage(std::addressof(f))
753
1.40k
    {
754
1.40k
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
742
514
        : m_fptr([](storage fn,
743
514
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
514
              cvref<T> obj = *get<T>(fn);
745
514
              if constexpr (std::is_void_v<R>) {
746
514
                  obj(static_cast<decltype(args)>(args)...);
747
514
              }
748
514
              else {
749
514
                  return obj(static_cast<decltype(args)>(args)...);
750
514
              }
751
514
          }),
752
514
          m_storage(std::addressof(f))
753
514
    {
754
514
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Line
Count
Source
742
2.10M
        : m_fptr([](storage fn,
743
2.10M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.10M
              cvref<T> obj = *get<T>(fn);
745
2.10M
              if constexpr (std::is_void_v<R>) {
746
2.10M
                  obj(static_cast<decltype(args)>(args)...);
747
2.10M
              }
748
2.10M
              else {
749
2.10M
                  return obj(static_cast<decltype(args)>(args)...);
750
2.10M
              }
751
2.10M
          }),
752
2.10M
          m_storage(std::addressof(f))
753
2.10M
    {
754
2.10M
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Line
Count
Source
742
26.6k
        : m_fptr([](storage fn,
743
26.6k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
26.6k
              cvref<T> obj = *get<T>(fn);
745
26.6k
              if constexpr (std::is_void_v<R>) {
746
26.6k
                  obj(static_cast<decltype(args)>(args)...);
747
26.6k
              }
748
26.6k
              else {
749
26.6k
                  return obj(static_cast<decltype(args)>(args)...);
750
26.6k
              }
751
26.6k
          }),
752
26.6k
          m_storage(std::addressof(f))
753
26.6k
    {
754
26.6k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Line
Count
Source
742
177k
        : m_fptr([](storage fn,
743
177k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
177k
              cvref<T> obj = *get<T>(fn);
745
177k
              if constexpr (std::is_void_v<R>) {
746
177k
                  obj(static_cast<decltype(args)>(args)...);
747
177k
              }
748
177k
              else {
749
177k
                  return obj(static_cast<decltype(args)>(args)...);
750
177k
              }
751
177k
          }),
752
177k
          m_storage(std::addressof(f))
753
177k
    {
754
177k
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
742
15.1k
        : m_fptr([](storage fn,
743
15.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
15.1k
              cvref<T> obj = *get<T>(fn);
745
15.1k
              if constexpr (std::is_void_v<R>) {
746
15.1k
                  obj(static_cast<decltype(args)>(args)...);
747
15.1k
              }
748
15.1k
              else {
749
15.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
15.1k
              }
751
15.1k
          }),
752
15.1k
          m_storage(std::addressof(f))
753
15.1k
    {
754
15.1k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Line
Count
Source
742
695k
        : m_fptr([](storage fn,
743
695k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
695k
              cvref<T> obj = *get<T>(fn);
745
695k
              if constexpr (std::is_void_v<R>) {
746
695k
                  obj(static_cast<decltype(args)>(args)...);
747
695k
              }
748
695k
              else {
749
695k
                  return obj(static_cast<decltype(args)>(args)...);
750
695k
              }
751
695k
          }),
752
695k
          m_storage(std::addressof(f))
753
695k
    {
754
695k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Line
Count
Source
742
88.1k
        : m_fptr([](storage fn,
743
88.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
88.1k
              cvref<T> obj = *get<T>(fn);
745
88.1k
              if constexpr (std::is_void_v<R>) {
746
88.1k
                  obj(static_cast<decltype(args)>(args)...);
747
88.1k
              }
748
88.1k
              else {
749
88.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
88.1k
              }
751
88.1k
          }),
752
88.1k
          m_storage(std::addressof(f))
753
88.1k
    {
754
88.1k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
742
26
        : m_fptr([](storage fn,
743
26
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
26
              cvref<T> obj = *get<T>(fn);
745
26
              if constexpr (std::is_void_v<R>) {
746
26
                  obj(static_cast<decltype(args)>(args)...);
747
26
              }
748
26
              else {
749
26
                  return obj(static_cast<decltype(args)>(args)...);
750
26
              }
751
26
          }),
752
26
          m_storage(std::addressof(f))
753
26
    {
754
26
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
742
242
        : m_fptr([](storage fn,
743
242
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
242
              cvref<T> obj = *get<T>(fn);
745
242
              if constexpr (std::is_void_v<R>) {
746
242
                  obj(static_cast<decltype(args)>(args)...);
747
242
              }
748
242
              else {
749
242
                  return obj(static_cast<decltype(args)>(args)...);
750
242
              }
751
242
          }),
752
242
          m_storage(std::addressof(f))
753
242
    {
754
242
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
742
26.7k
        : m_fptr([](storage fn,
743
26.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
26.7k
              cvref<T> obj = *get<T>(fn);
745
26.7k
              if constexpr (std::is_void_v<R>) {
746
26.7k
                  obj(static_cast<decltype(args)>(args)...);
747
26.7k
              }
748
26.7k
              else {
749
26.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
26.7k
              }
751
26.7k
          }),
752
26.7k
          m_storage(std::addressof(f))
753
26.7k
    {
754
26.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_
Line
Count
Source
742
5.57k
        : m_fptr([](storage fn,
743
5.57k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
5.57k
              cvref<T> obj = *get<T>(fn);
745
5.57k
              if constexpr (std::is_void_v<R>) {
746
5.57k
                  obj(static_cast<decltype(args)>(args)...);
747
5.57k
              }
748
5.57k
              else {
749
5.57k
                  return obj(static_cast<decltype(args)>(args)...);
750
5.57k
              }
751
5.57k
          }),
752
5.57k
          m_storage(std::addressof(f))
753
5.57k
    {
754
5.57k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
742
295k
        : m_fptr([](storage fn,
743
295k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
295k
              cvref<T> obj = *get<T>(fn);
745
295k
              if constexpr (std::is_void_v<R>) {
746
295k
                  obj(static_cast<decltype(args)>(args)...);
747
295k
              }
748
295k
              else {
749
295k
                  return obj(static_cast<decltype(args)>(args)...);
750
295k
              }
751
295k
          }),
752
295k
          m_storage(std::addressof(f))
753
295k
    {
754
295k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
742
88.1k
        : m_fptr([](storage fn,
743
88.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
88.1k
              cvref<T> obj = *get<T>(fn);
745
88.1k
              if constexpr (std::is_void_v<R>) {
746
88.1k
                  obj(static_cast<decltype(args)>(args)...);
747
88.1k
              }
748
88.1k
              else {
749
88.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
88.1k
              }
751
88.1k
          }),
752
88.1k
          m_storage(std::addressof(f))
753
88.1k
    {
754
88.1k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Line
Count
Source
742
30.9k
        : m_fptr([](storage fn,
743
30.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
30.9k
              cvref<T> obj = *get<T>(fn);
745
30.9k
              if constexpr (std::is_void_v<R>) {
746
30.9k
                  obj(static_cast<decltype(args)>(args)...);
747
30.9k
              }
748
30.9k
              else {
749
30.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
30.9k
              }
751
30.9k
          }),
752
30.9k
          m_storage(std::addressof(f))
753
30.9k
    {
754
30.9k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Line
Count
Source
742
92.4k
        : m_fptr([](storage fn,
743
92.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
92.4k
              cvref<T> obj = *get<T>(fn);
745
92.4k
              if constexpr (std::is_void_v<R>) {
746
92.4k
                  obj(static_cast<decltype(args)>(args)...);
747
92.4k
              }
748
92.4k
              else {
749
92.4k
                  return obj(static_cast<decltype(args)>(args)...);
750
92.4k
              }
751
92.4k
          }),
752
92.4k
          m_storage(std::addressof(f))
753
92.4k
    {
754
92.4k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
742
16
        : m_fptr([](storage fn,
743
16
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
16
              cvref<T> obj = *get<T>(fn);
745
16
              if constexpr (std::is_void_v<R>) {
746
16
                  obj(static_cast<decltype(args)>(args)...);
747
16
              }
748
16
              else {
749
16
                  return obj(static_cast<decltype(args)>(args)...);
750
16
              }
751
16
          }),
752
16
          m_storage(std::addressof(f))
753
16
    {
754
16
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
742
230
        : m_fptr([](storage fn,
743
230
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
230
              cvref<T> obj = *get<T>(fn);
745
230
              if constexpr (std::is_void_v<R>) {
746
230
                  obj(static_cast<decltype(args)>(args)...);
747
230
              }
748
230
              else {
749
230
                  return obj(static_cast<decltype(args)>(args)...);
750
230
              }
751
230
          }),
752
230
          m_storage(std::addressof(f))
753
230
    {
754
230
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
742
30.9k
        : m_fptr([](storage fn,
743
30.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
30.9k
              cvref<T> obj = *get<T>(fn);
745
30.9k
              if constexpr (std::is_void_v<R>) {
746
30.9k
                  obj(static_cast<decltype(args)>(args)...);
747
30.9k
              }
748
30.9k
              else {
749
30.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
30.9k
              }
751
30.9k
          }),
752
30.9k
          m_storage(std::addressof(f))
753
30.9k
    {
754
30.9k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
742
92.9k
        : m_fptr([](storage fn,
743
92.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
92.9k
              cvref<T> obj = *get<T>(fn);
745
92.9k
              if constexpr (std::is_void_v<R>) {
746
92.9k
                  obj(static_cast<decltype(args)>(args)...);
747
92.9k
              }
748
92.9k
              else {
749
92.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
92.9k
              }
751
92.9k
          }),
752
92.9k
          m_storage(std::addressof(f))
753
92.9k
    {
754
92.9k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Line
Count
Source
742
32.1k
        : m_fptr([](storage fn,
743
32.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
32.1k
              cvref<T> obj = *get<T>(fn);
745
32.1k
              if constexpr (std::is_void_v<R>) {
746
32.1k
                  obj(static_cast<decltype(args)>(args)...);
747
32.1k
              }
748
32.1k
              else {
749
32.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
32.1k
              }
751
32.1k
          }),
752
32.1k
          m_storage(std::addressof(f))
753
32.1k
    {
754
32.1k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Line
Count
Source
742
93.7k
        : m_fptr([](storage fn,
743
93.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
93.7k
              cvref<T> obj = *get<T>(fn);
745
93.7k
              if constexpr (std::is_void_v<R>) {
746
93.7k
                  obj(static_cast<decltype(args)>(args)...);
747
93.7k
              }
748
93.7k
              else {
749
93.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
93.7k
              }
751
93.7k
          }),
752
93.7k
          m_storage(std::addressof(f))
753
93.7k
    {
754
93.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
742
32.1k
        : m_fptr([](storage fn,
743
32.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
32.1k
              cvref<T> obj = *get<T>(fn);
745
32.1k
              if constexpr (std::is_void_v<R>) {
746
32.1k
                  obj(static_cast<decltype(args)>(args)...);
747
32.1k
              }
748
32.1k
              else {
749
32.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
32.1k
              }
751
32.1k
          }),
752
32.1k
          m_storage(std::addressof(f))
753
32.1k
    {
754
32.1k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
742
93.7k
        : m_fptr([](storage fn,
743
93.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
93.7k
              cvref<T> obj = *get<T>(fn);
745
93.7k
              if constexpr (std::is_void_v<R>) {
746
93.7k
                  obj(static_cast<decltype(args)>(args)...);
747
93.7k
              }
748
93.7k
              else {
749
93.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
93.7k
              }
751
93.7k
          }),
752
93.7k
          m_storage(std::addressof(f))
753
93.7k
    {
754
93.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
742
679k
        : m_fptr([](storage fn,
743
679k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
679k
              cvref<T> obj = *get<T>(fn);
745
679k
              if constexpr (std::is_void_v<R>) {
746
679k
                  obj(static_cast<decltype(args)>(args)...);
747
679k
              }
748
679k
              else {
749
679k
                  return obj(static_cast<decltype(args)>(args)...);
750
679k
              }
751
679k
          }),
752
679k
          m_storage(std::addressof(f))
753
679k
    {
754
679k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
Line
Count
Source
742
3.56k
        : m_fptr([](storage fn,
743
3.56k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
3.56k
              cvref<T> obj = *get<T>(fn);
745
3.56k
              if constexpr (std::is_void_v<R>) {
746
3.56k
                  obj(static_cast<decltype(args)>(args)...);
747
3.56k
              }
748
3.56k
              else {
749
3.56k
                  return obj(static_cast<decltype(args)>(args)...);
750
3.56k
              }
751
3.56k
          }),
752
3.56k
          m_storage(std::addressof(f))
753
3.56k
    {
754
3.56k
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
742
624
        : m_fptr([](storage fn,
743
624
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
624
              cvref<T> obj = *get<T>(fn);
745
624
              if constexpr (std::is_void_v<R>) {
746
624
                  obj(static_cast<decltype(args)>(args)...);
747
624
              }
748
624
              else {
749
624
                  return obj(static_cast<decltype(args)>(args)...);
750
624
              }
751
624
          }),
752
624
          m_storage(std::addressof(f))
753
624
    {
754
624
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
742
372
        : m_fptr([](storage fn,
743
372
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
372
              cvref<T> obj = *get<T>(fn);
745
372
              if constexpr (std::is_void_v<R>) {
746
372
                  obj(static_cast<decltype(args)>(args)...);
747
372
              }
748
372
              else {
749
372
                  return obj(static_cast<decltype(args)>(args)...);
750
372
              }
751
372
          }),
752
372
          m_storage(std::addressof(f))
753
372
    {
754
372
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
742
216
        : m_fptr([](storage fn,
743
216
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
216
              cvref<T> obj = *get<T>(fn);
745
216
              if constexpr (std::is_void_v<R>) {
746
216
                  obj(static_cast<decltype(args)>(args)...);
747
216
              }
748
216
              else {
749
216
                  return obj(static_cast<decltype(args)>(args)...);
750
216
              }
751
216
          }),
752
216
          m_storage(std::addressof(f))
753
216
    {
754
216
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Line
Count
Source
742
1.36M
        : m_fptr([](storage fn,
743
1.36M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.36M
              cvref<T> obj = *get<T>(fn);
745
1.36M
              if constexpr (std::is_void_v<R>) {
746
1.36M
                  obj(static_cast<decltype(args)>(args)...);
747
1.36M
              }
748
1.36M
              else {
749
1.36M
                  return obj(static_cast<decltype(args)>(args)...);
750
1.36M
              }
751
1.36M
          }),
752
1.36M
          m_storage(std::addressof(f))
753
1.36M
    {
754
1.36M
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
742
564
        : m_fptr([](storage fn,
743
564
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
564
              cvref<T> obj = *get<T>(fn);
745
564
              if constexpr (std::is_void_v<R>) {
746
564
                  obj(static_cast<decltype(args)>(args)...);
747
564
              }
748
564
              else {
749
564
                  return obj(static_cast<decltype(args)>(args)...);
750
564
              }
751
564
          }),
752
564
          m_storage(std::addressof(f))
753
564
    {
754
564
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
742
7.30k
        : m_fptr([](storage fn,
743
7.30k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
7.30k
              cvref<T> obj = *get<T>(fn);
745
7.30k
              if constexpr (std::is_void_v<R>) {
746
7.30k
                  obj(static_cast<decltype(args)>(args)...);
747
7.30k
              }
748
7.30k
              else {
749
7.30k
                  return obj(static_cast<decltype(args)>(args)...);
750
7.30k
              }
751
7.30k
          }),
752
7.30k
          m_storage(std::addressof(f))
753
7.30k
    {
754
7.30k
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
742
1.40M
        : m_fptr([](storage fn,
743
1.40M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.40M
              cvref<T> obj = *get<T>(fn);
745
1.40M
              if constexpr (std::is_void_v<R>) {
746
1.40M
                  obj(static_cast<decltype(args)>(args)...);
747
1.40M
              }
748
1.40M
              else {
749
1.40M
                  return obj(static_cast<decltype(args)>(args)...);
750
1.40M
              }
751
1.40M
          }),
752
1.40M
          m_storage(std::addressof(f))
753
1.40M
    {
754
1.40M
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_
Line
Count
Source
742
723k
        : m_fptr([](storage fn,
743
723k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
723k
              cvref<T> obj = *get<T>(fn);
745
723k
              if constexpr (std::is_void_v<R>) {
746
723k
                  obj(static_cast<decltype(args)>(args)...);
747
723k
              }
748
723k
              else {
749
723k
                  return obj(static_cast<decltype(args)>(args)...);
750
723k
              }
751
723k
          }),
752
723k
          m_storage(std::addressof(f))
753
723k
    {
754
723k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
Line
Count
Source
742
50.6k
        : m_fptr([](storage fn,
743
50.6k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
50.6k
              cvref<T> obj = *get<T>(fn);
745
50.6k
              if constexpr (std::is_void_v<R>) {
746
50.6k
                  obj(static_cast<decltype(args)>(args)...);
747
50.6k
              }
748
50.6k
              else {
749
50.6k
                  return obj(static_cast<decltype(args)>(args)...);
750
50.6k
              }
751
50.6k
          }),
752
50.6k
          m_storage(std::addressof(f))
753
50.6k
    {
754
50.6k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
Line
Count
Source
742
53.7k
        : m_fptr([](storage fn,
743
53.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
53.7k
              cvref<T> obj = *get<T>(fn);
745
53.7k
              if constexpr (std::is_void_v<R>) {
746
53.7k
                  obj(static_cast<decltype(args)>(args)...);
747
53.7k
              }
748
53.7k
              else {
749
53.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
53.7k
              }
751
53.7k
          }),
752
53.7k
          m_storage(std::addressof(f))
753
53.7k
    {
754
53.7k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
Line
Count
Source
742
54.9k
        : m_fptr([](storage fn,
743
54.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
54.9k
              cvref<T> obj = *get<T>(fn);
745
54.9k
              if constexpr (std::is_void_v<R>) {
746
54.9k
                  obj(static_cast<decltype(args)>(args)...);
747
54.9k
              }
748
54.9k
              else {
749
54.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
54.9k
              }
751
54.9k
          }),
752
54.9k
          m_storage(std::addressof(f))
753
54.9k
    {
754
54.9k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Line
Count
Source
742
51.6k
        : m_fptr([](storage fn,
743
51.6k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
51.6k
              cvref<T> obj = *get<T>(fn);
745
51.6k
              if constexpr (std::is_void_v<R>) {
746
51.6k
                  obj(static_cast<decltype(args)>(args)...);
747
51.6k
              }
748
51.6k
              else {
749
51.6k
                  return obj(static_cast<decltype(args)>(args)...);
750
51.6k
              }
751
51.6k
          }),
752
51.6k
          m_storage(std::addressof(f))
753
51.6k
    {
754
51.6k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Line
Count
Source
742
53.9k
        : m_fptr([](storage fn,
743
53.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
53.9k
              cvref<T> obj = *get<T>(fn);
745
53.9k
              if constexpr (std::is_void_v<R>) {
746
53.9k
                  obj(static_cast<decltype(args)>(args)...);
747
53.9k
              }
748
53.9k
              else {
749
53.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
53.9k
              }
751
53.9k
          }),
752
53.9k
          m_storage(std::addressof(f))
753
53.9k
    {
754
53.9k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Line
Count
Source
742
55.1k
        : m_fptr([](storage fn,
743
55.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
55.1k
              cvref<T> obj = *get<T>(fn);
745
55.1k
              if constexpr (std::is_void_v<R>) {
746
55.1k
                  obj(static_cast<decltype(args)>(args)...);
747
55.1k
              }
748
55.1k
              else {
749
55.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
55.1k
              }
751
55.1k
          }),
752
55.1k
          m_storage(std::addressof(f))
753
55.1k
    {
754
55.1k
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
742
588
        : m_fptr([](storage fn,
743
588
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
588
              cvref<T> obj = *get<T>(fn);
745
588
              if constexpr (std::is_void_v<R>) {
746
588
                  obj(static_cast<decltype(args)>(args)...);
747
588
              }
748
588
              else {
749
588
                  return obj(static_cast<decltype(args)>(args)...);
750
588
              }
751
588
          }),
752
588
          m_storage(std::addressof(f))
753
588
    {
754
588
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
742
2.55k
        : m_fptr([](storage fn,
743
2.55k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.55k
              cvref<T> obj = *get<T>(fn);
745
2.55k
              if constexpr (std::is_void_v<R>) {
746
2.55k
                  obj(static_cast<decltype(args)>(args)...);
747
2.55k
              }
748
2.55k
              else {
749
2.55k
                  return obj(static_cast<decltype(args)>(args)...);
750
2.55k
              }
751
2.55k
          }),
752
2.55k
          m_storage(std::addressof(f))
753
2.55k
    {
754
2.55k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
Line
Count
Source
742
40.0k
        : m_fptr([](storage fn,
743
40.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
40.0k
              cvref<T> obj = *get<T>(fn);
745
40.0k
              if constexpr (std::is_void_v<R>) {
746
40.0k
                  obj(static_cast<decltype(args)>(args)...);
747
40.0k
              }
748
40.0k
              else {
749
40.0k
                  return obj(static_cast<decltype(args)>(args)...);
750
40.0k
              }
751
40.0k
          }),
752
40.0k
          m_storage(std::addressof(f))
753
40.0k
    {
754
40.0k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
Line
Count
Source
742
47.0k
        : m_fptr([](storage fn,
743
47.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
47.0k
              cvref<T> obj = *get<T>(fn);
745
47.0k
              if constexpr (std::is_void_v<R>) {
746
47.0k
                  obj(static_cast<decltype(args)>(args)...);
747
47.0k
              }
748
47.0k
              else {
749
47.0k
                  return obj(static_cast<decltype(args)>(args)...);
750
47.0k
              }
751
47.0k
          }),
752
47.0k
          m_storage(std::addressof(f))
753
47.0k
    {
754
47.0k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
Line
Count
Source
742
48.2k
        : m_fptr([](storage fn,
743
48.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
48.2k
              cvref<T> obj = *get<T>(fn);
745
48.2k
              if constexpr (std::is_void_v<R>) {
746
48.2k
                  obj(static_cast<decltype(args)>(args)...);
747
48.2k
              }
748
48.2k
              else {
749
48.2k
                  return obj(static_cast<decltype(args)>(args)...);
750
48.2k
              }
751
48.2k
          }),
752
48.2k
          m_storage(std::addressof(f))
753
48.2k
    {
754
48.2k
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
742
566
        : m_fptr([](storage fn,
743
566
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
566
              cvref<T> obj = *get<T>(fn);
745
566
              if constexpr (std::is_void_v<R>) {
746
566
                  obj(static_cast<decltype(args)>(args)...);
747
566
              }
748
566
              else {
749
566
                  return obj(static_cast<decltype(args)>(args)...);
750
566
              }
751
566
          }),
752
566
          m_storage(std::addressof(f))
753
566
    {
754
566
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
742
1.67k
        : m_fptr([](storage fn,
743
1.67k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.67k
              cvref<T> obj = *get<T>(fn);
745
1.67k
              if constexpr (std::is_void_v<R>) {
746
1.67k
                  obj(static_cast<decltype(args)>(args)...);
747
1.67k
              }
748
1.67k
              else {
749
1.67k
                  return obj(static_cast<decltype(args)>(args)...);
750
1.67k
              }
751
1.67k
          }),
752
1.67k
          m_storage(std::addressof(f))
753
1.67k
    {
754
1.67k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Line
Count
Source
742
40.0k
        : m_fptr([](storage fn,
743
40.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
40.0k
              cvref<T> obj = *get<T>(fn);
745
40.0k
              if constexpr (std::is_void_v<R>) {
746
40.0k
                  obj(static_cast<decltype(args)>(args)...);
747
40.0k
              }
748
40.0k
              else {
749
40.0k
                  return obj(static_cast<decltype(args)>(args)...);
750
40.0k
              }
751
40.0k
          }),
752
40.0k
          m_storage(std::addressof(f))
753
40.0k
    {
754
40.0k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Line
Count
Source
742
46.3k
        : m_fptr([](storage fn,
743
46.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
46.3k
              cvref<T> obj = *get<T>(fn);
745
46.3k
              if constexpr (std::is_void_v<R>) {
746
46.3k
                  obj(static_cast<decltype(args)>(args)...);
747
46.3k
              }
748
46.3k
              else {
749
46.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
46.3k
              }
751
46.3k
          }),
752
46.3k
          m_storage(std::addressof(f))
753
46.3k
    {
754
46.3k
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Line
Count
Source
742
48.1k
        : m_fptr([](storage fn,
743
48.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
48.1k
              cvref<T> obj = *get<T>(fn);
745
48.1k
              if constexpr (std::is_void_v<R>) {
746
48.1k
                  obj(static_cast<decltype(args)>(args)...);
747
48.1k
              }
748
48.1k
              else {
749
48.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
48.1k
              }
751
48.1k
          }),
752
48.1k
          m_storage(std::addressof(f))
753
48.1k
    {
754
48.1k
    }
755
756
    template <typename T,
757
              std::enable_if_t<detail::is_not_self<T, function_ref> &&
758
                               !std::is_pointer_v<T>>* = nullptr>
759
    function_ref& operator=(T) = delete;
760
761
    constexpr R operator()(Args... args) const noexcept(noex)
762
103M
    {
763
103M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
103M
    }
scn::v4::impl::function_ref<bool (char), bool (char)>::operator()(char) const
Line
Count
Source
762
13.6M
    {
763
13.6M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
13.6M
    }
scn::v4::impl::function_ref<bool (char32_t), bool (char32_t)>::operator()(char32_t) const
Line
Count
Source
762
83.5M
    {
763
83.5M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
83.5M
    }
scn::v4::impl::function_ref<void (char32_t), void (char32_t)>::operator()(char32_t) const
Line
Count
Source
762
66.7k
    {
763
66.7k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
66.7k
    }
Unexecuted instantiation: scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref) const
scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref) const
Line
Count
Source
762
585k
    {
763
585k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
585k
    }
scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v4::detail::locale_ref) const
Line
Count
Source
762
402
    {
763
402
        return m_fptr(m_storage, SCN_FWD(args)...);
764
402
    }
scn::v4::impl::function_ref<scn::v4::scan_expected<char const*> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::detail::locale_ref), scn::v4::scan_expected<char const*> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::detail::locale_ref) const
Line
Count
Source
762
552k
    {
763
552k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
552k
    }
scn::v4::impl::function_ref<bool (wchar_t), bool (wchar_t)>::operator()(wchar_t) const
Line
Count
Source
762
3.95M
    {
763
3.95M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
3.95M
    }
Unexecuted instantiation: scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref) const
scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref) const
Line
Count
Source
762
498k
    {
763
498k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
498k
    }
scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v4::detail::locale_ref) const
Line
Count
Source
762
246
    {
763
246
        return m_fptr(m_storage, SCN_FWD(args)...);
764
246
    }
scn::v4::impl::function_ref<scn::v4::scan_expected<wchar_t const*> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::detail::locale_ref), scn::v4::scan_expected<wchar_t const*> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::detail::locale_ref) const
Line
Count
Source
762
499k
    {
763
499k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
499k
    }
765
766
private:
767
    fwd_t* m_fptr{nullptr};
768
    storage m_storage;
769
};
770
771
template <typename F, std::enable_if_t<std::is_function_v<F>>* = nullptr>
772
function_ref(F*) -> function_ref<F>;
773
}  // namespace impl
774
775
/////////////////////////////////////////////////////////////////
776
// Internal error types
777
/////////////////////////////////////////////////////////////////
778
779
namespace impl {
780
enum class eof_error { good, eof };
781
782
inline constexpr bool operator!(eof_error e)
783
14.4M
{
784
14.4M
    return e != eof_error::good;
785
14.4M
}
786
787
template <typename T>
788
struct eof_expected : public expected<T, eof_error> {
789
    using base = expected<T, eof_error>;
790
    using base::base;
791
792
    constexpr eof_expected(const base& other) : base(other) {}
793
    constexpr eof_expected(base&& other) : base(SCN_MOVE(other)) {}
794
};
795
796
inline constexpr auto make_eof_scan_error(eof_error err)
797
70.5k
{
798
70.5k
    SCN_EXPECT(err == eof_error::eof);
799
70.5k
    return scan_error{scan_error::end_of_input, "EOF"};
800
70.5k
}
801
802
struct SCN_TRIVIAL_ABI parse_error {
803
    enum code { good, eof, error };
804
    using code_t = code;
805
806
    constexpr parse_error() = default;
807
23.3M
    constexpr parse_error(code c) : m_code(c)
808
23.3M
    {
809
23.3M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
810
23.3M
    }
811
812
    constexpr explicit operator bool() const
813
0
    {
814
0
        return m_code == good;
815
0
    }
816
    constexpr explicit operator code_t() const
817
0
    {
818
0
        return m_code;
819
0
    }
820
821
    friend constexpr bool operator==(parse_error a, parse_error b)
822
10.2M
    {
823
10.2M
        return a.m_code == b.m_code;
824
10.2M
    }
825
    friend constexpr bool operator!=(parse_error a, parse_error b)
826
2.43M
    {
827
2.43M
        return !(a == b);
828
2.43M
    }
829
830
private:
831
    code m_code{good};
832
};
833
834
template <typename T>
835
struct parse_expected : public expected<T, parse_error> {
836
    using base = expected<T, parse_error>;
837
    using base::base;
838
839
    constexpr parse_expected(const base& other) : base(other) {}
840
    constexpr parse_expected(base&& other) : base(SCN_MOVE(other)) {}
841
};
842
843
inline constexpr parse_error make_eof_parse_error(eof_error err)
844
244k
{
845
244k
    SCN_EXPECT(err == eof_error::eof);
846
244k
    return parse_error::eof;
847
244k
}
848
849
inline constexpr scan_expected<void> make_scan_error_from_parse_error(
850
    parse_error err,
851
    enum scan_error::code code,
852
    const char* msg)
853
2.43M
{
854
2.43M
    if (err == parse_error::good) {
855
0
        return {};
856
0
    }
857
858
2.43M
    if (err == parse_error::eof) {
859
69.6k
        return detail::unexpected_scan_error(scan_error::end_of_input, "EOF");
860
69.6k
    }
861
862
2.36M
    return detail::unexpected_scan_error(code, msg);
863
2.43M
}
864
865
inline constexpr auto map_parse_error_to_scan_error(enum scan_error::code code,
866
                                                    const char* msg)
867
2.71M
{
868
2.71M
    return [code, msg](parse_error err) {
869
2.43M
        assert(err != parse_error::good);
870
2.43M
        return make_scan_error_from_parse_error(err, code, msg).error();
871
2.43M
    };
872
2.71M
}
873
}  // namespace impl
874
875
namespace detail {
876
template <typename T>
877
struct is_expected_impl<scn::impl::parse_expected<T>> : std::true_type {};
878
}  // namespace detail
879
880
/////////////////////////////////////////////////////////////////
881
// Range reading support
882
/////////////////////////////////////////////////////////////////
883
884
namespace impl {
885
#if SCN_MSVC_DEBUG_ITERATORS
886
#define SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND 1
887
#else
888
#define SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND 0
889
#endif
890
891
template <typename T>
892
constexpr bool range_supports_nocopy() noexcept
893
{
894
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
895
    return ranges::contiguous_range<T> ||
896
           (ranges::random_access_range<T> &&
897
            detail::can_make_address_from_iterator<ranges::iterator_t<T>>);
898
#else
899
    return ranges::contiguous_range<T>;
900
#endif
901
}
902
903
template <typename R>
904
constexpr auto range_nocopy_data(const R& r) noexcept
905
{
906
    static_assert(range_supports_nocopy<R>());
907
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
908
    return detail::to_address(ranges::begin(r));
909
#else
910
    return ranges::data(r);
911
#endif
912
}
913
914
template <typename R>
915
constexpr auto range_nocopy_size(const R& r) noexcept
916
{
917
    static_assert(range_supports_nocopy<R>());
918
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
919
    return static_cast<size_t>(ranges::distance(detail::to_address(r.begin()),
920
                                                detail::to_address(r.end())));
921
#else
922
    return r.size();
923
#endif
924
}
925
926
template <typename I, typename S>
927
SCN_NODISCARD constexpr bool is_range_eof(I begin, S end)
928
350M
{
929
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
930
    if constexpr (ranges::contiguous_iterator<I> ||
931
                  (ranges::random_access_iterator<I> &&
932
                   detail::can_make_address_from_iterator<I>)) {
933
        return detail::to_address(begin) == detail::to_address(end);
934
    }
935
    else
936
#endif
937
350M
    {
938
350M
        return begin == end;
939
350M
    }
940
350M
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
bool scn::v4::impl::is_range_eof<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
928
6.71M
{
929
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
930
    if constexpr (ranges::contiguous_iterator<I> ||
931
                  (ranges::random_access_iterator<I> &&
932
                   detail::can_make_address_from_iterator<I>)) {
933
        return detail::to_address(begin) == detail::to_address(end);
934
    }
935
    else
936
#endif
937
6.71M
    {
938
6.71M
        return begin == end;
939
6.71M
    }
940
6.71M
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
928
43.0k
{
929
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
930
    if constexpr (ranges::contiguous_iterator<I> ||
931
                  (ranges::random_access_iterator<I> &&
932
                   detail::can_make_address_from_iterator<I>)) {
933
        return detail::to_address(begin) == detail::to_address(end);
934
    }
935
    else
936
#endif
937
43.0k
    {
938
43.0k
        return begin == end;
939
43.0k
    }
940
43.0k
}
bool scn::v4::impl::is_range_eof<char const*, char const*>(char const*, char const*)
Line
Count
Source
928
4.08M
{
929
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
930
    if constexpr (ranges::contiguous_iterator<I> ||
931
                  (ranges::random_access_iterator<I> &&
932
                   detail::can_make_address_from_iterator<I>)) {
933
        return detail::to_address(begin) == detail::to_address(end);
934
    }
935
    else
936
#endif
937
4.08M
    {
938
4.08M
        return begin == end;
939
4.08M
    }
940
4.08M
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
bool scn::v4::impl::is_range_eof<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
928
26.4M
{
929
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
930
    if constexpr (ranges::contiguous_iterator<I> ||
931
                  (ranges::random_access_iterator<I> &&
932
                   detail::can_make_address_from_iterator<I>)) {
933
        return detail::to_address(begin) == detail::to_address(end);
934
    }
935
    else
936
#endif
937
26.4M
    {
938
26.4M
        return begin == end;
939
26.4M
    }
940
26.4M
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
bool scn::v4::impl::is_range_eof<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*)
Line
Count
Source
928
312M
{
929
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
930
    if constexpr (ranges::contiguous_iterator<I> ||
931
                  (ranges::random_access_iterator<I> &&
932
                   detail::can_make_address_from_iterator<I>)) {
933
        return detail::to_address(begin) == detail::to_address(end);
934
    }
935
    else
936
#endif
937
312M
    {
938
312M
        return begin == end;
939
312M
    }
940
312M
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
928
18.4k
{
929
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
930
    if constexpr (ranges::contiguous_iterator<I> ||
931
                  (ranges::random_access_iterator<I> &&
932
                   detail::can_make_address_from_iterator<I>)) {
933
        return detail::to_address(begin) == detail::to_address(end);
934
    }
935
    else
936
#endif
937
18.4k
    {
938
18.4k
        return begin == end;
939
18.4k
    }
940
18.4k
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>)
Line
Count
Source
928
6.57k
{
929
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
930
    if constexpr (ranges::contiguous_iterator<I> ||
931
                  (ranges::random_access_iterator<I> &&
932
                   detail::can_make_address_from_iterator<I>)) {
933
        return detail::to_address(begin) == detail::to_address(end);
934
    }
935
    else
936
#endif
937
6.57k
    {
938
6.57k
        return begin == end;
939
6.57k
    }
940
6.57k
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>)
Line
Count
Source
928
3.86k
{
929
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
930
    if constexpr (ranges::contiguous_iterator<I> ||
931
                  (ranges::random_access_iterator<I> &&
932
                   detail::can_make_address_from_iterator<I>)) {
933
        return detail::to_address(begin) == detail::to_address(end);
934
    }
935
    else
936
#endif
937
3.86k
    {
938
3.86k
        return begin == end;
939
3.86k
    }
940
3.86k
}
941
942
template <typename Range>
943
SCN_NODISCARD constexpr bool is_range_eof(Range r)
944
87.7M
{
945
87.7M
    return is_range_eof(r.begin(), r.end());
946
87.7M
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Line
Count
Source
944
6.71M
{
945
6.71M
    return is_range_eof(r.begin(), r.end());
946
6.71M
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
944
2.74k
{
945
2.74k
    return is_range_eof(r.begin(), r.end());
946
2.74k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
944
40.3k
{
945
40.3k
    return is_range_eof(r.begin(), r.end());
946
40.3k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
944
3.99M
{
945
3.99M
    return is_range_eof(r.begin(), r.end());
946
3.99M
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Line
Count
Source
944
26.4M
{
945
26.4M
    return is_range_eof(r.begin(), r.end());
946
26.4M
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
944
50.4M
{
945
50.4M
    return is_range_eof(r.begin(), r.end());
946
50.4M
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
944
1.71k
{
945
1.71k
    return is_range_eof(r.begin(), r.end());
946
1.71k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
944
16.7k
{
945
16.7k
    return is_range_eof(r.begin(), r.end());
946
16.7k
}
bool scn::v4::impl::is_range_eof<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
944
11.9k
{
945
11.9k
    return is_range_eof(r.begin(), r.end());
946
11.9k
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
944
6.57k
{
945
6.57k
    return is_range_eof(r.begin(), r.end());
946
6.57k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
Line
Count
Source
944
3.86k
{
945
3.86k
    return is_range_eof(r.begin(), r.end());
946
3.86k
}
947
948
template <typename Range>
949
SCN_NODISCARD constexpr eof_error eof_check(Range range)
950
14.4M
{
951
14.4M
    if (SCN_UNLIKELY(is_range_eof(range))) {
952
88.4k
        return eof_error::eof;
953
88.4k
    }
954
14.3M
    return eof_error::good;
955
14.4M
}
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Line
Count
Source
950
3.69M
{
951
3.69M
    if (SCN_UNLIKELY(is_range_eof(range))) {
952
36.0k
        return eof_error::eof;
953
36.0k
    }
954
3.65M
    return eof_error::good;
955
3.69M
}
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
950
2.74k
{
951
2.74k
    if (SCN_UNLIKELY(is_range_eof(range))) {
952
0
        return eof_error::eof;
953
0
    }
954
2.74k
    return eof_error::good;
955
2.74k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
950
40
{
951
40
    if (SCN_UNLIKELY(is_range_eof(range))) {
952
0
        return eof_error::eof;
953
0
    }
954
40
    return eof_error::good;
955
40
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
950
3.31M
{
951
3.31M
    if (SCN_UNLIKELY(is_range_eof(range))) {
952
27.2k
        return eof_error::eof;
953
27.2k
    }
954
3.28M
    return eof_error::good;
955
3.31M
}
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Line
Count
Source
950
3.35M
{
951
3.35M
    if (SCN_UNLIKELY(is_range_eof(range))) {
952
11.1k
        return eof_error::eof;
953
11.1k
    }
954
3.34M
    return eof_error::good;
955
3.35M
}
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
950
4.06M
{
951
4.06M
    if (SCN_UNLIKELY(is_range_eof(range))) {
952
11.9k
        return eof_error::eof;
953
11.9k
    }
954
4.04M
    return eof_error::good;
955
4.06M
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
950
1.71k
{
951
1.71k
    if (SCN_UNLIKELY(is_range_eof(range))) {
952
0
        return eof_error::eof;
953
0
    }
954
1.71k
    return eof_error::good;
955
1.71k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
950
110
{
951
110
    if (SCN_UNLIKELY(is_range_eof(range))) {
952
14
        return eof_error::eof;
953
14
    }
954
96
    return eof_error::good;
955
110
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
950
11.9k
{
951
11.9k
    if (SCN_UNLIKELY(is_range_eof(range))) {
952
1.69k
        return eof_error::eof;
953
1.69k
    }
954
10.2k
    return eof_error::good;
955
11.9k
}
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
950
2.55k
{
951
2.55k
    if (SCN_UNLIKELY(is_range_eof(range))) {
952
238
        return eof_error::eof;
953
238
    }
954
2.31k
    return eof_error::good;
955
2.55k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
Line
Count
Source
950
1.67k
{
951
1.67k
    if (SCN_UNLIKELY(is_range_eof(range))) {
952
124
        return eof_error::eof;
953
124
    }
954
1.55k
    return eof_error::good;
955
1.67k
}
956
957
template <typename Range>
958
bool is_entire_source_contiguous(Range r)
959
1.34k
{
960
    if constexpr (ranges::contiguous_range<Range> &&
961
486
                  ranges::sized_range<Range>) {
962
486
        return true;
963
    }
964
    else if constexpr (std::is_same_v<
965
                           ranges::const_iterator_t<Range>,
966
                           typename detail::basic_scan_buffer<
967
0
                               detail::char_t<Range>>::forward_iterator>) {
968
0
        auto beg = r.begin();
969
0
        if (!beg.stores_parent()) {
970
0
            return true;
971
0
        }
972
0
        return beg.parent()->is_contiguous();
973
    }
974
858
    else {
975
858
        return false;
976
858
    }
977
1.34k
}
Unexecuted instantiation: bool scn::v4::impl::is_entire_source_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v4::impl::is_entire_source_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
bool scn::v4::impl::is_entire_source_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
959
858
{
960
    if constexpr (ranges::contiguous_range<Range> &&
961
                  ranges::sized_range<Range>) {
962
        return true;
963
    }
964
    else if constexpr (std::is_same_v<
965
                           ranges::const_iterator_t<Range>,
966
                           typename detail::basic_scan_buffer<
967
                               detail::char_t<Range>>::forward_iterator>) {
968
        auto beg = r.begin();
969
        if (!beg.stores_parent()) {
970
            return true;
971
        }
972
        return beg.parent()->is_contiguous();
973
    }
974
858
    else {
975
858
        return false;
976
858
    }
977
858
}
bool scn::v4::impl::is_entire_source_contiguous<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
959
486
{
960
    if constexpr (ranges::contiguous_range<Range> &&
961
486
                  ranges::sized_range<Range>) {
962
486
        return true;
963
    }
964
    else if constexpr (std::is_same_v<
965
                           ranges::const_iterator_t<Range>,
966
                           typename detail::basic_scan_buffer<
967
                               detail::char_t<Range>>::forward_iterator>) {
968
        auto beg = r.begin();
969
        if (!beg.stores_parent()) {
970
            return true;
971
        }
972
        return beg.parent()->is_contiguous();
973
    }
974
    else {
975
        return false;
976
    }
977
486
}
978
979
template <typename Range>
980
bool is_segment_contiguous(Range r)
981
2.46M
{
982
    if constexpr (ranges::contiguous_range<Range> &&
983
486
                  ranges::sized_range<Range>) {
984
486
        return true;
985
    }
986
    else if constexpr (std::is_same_v<
987
                           ranges::const_iterator_t<Range>,
988
                           typename detail::basic_scan_buffer<
989
2.46M
                               detail::char_t<Range>>::forward_iterator>) {
990
2.46M
        auto beg = r.begin();
991
2.46M
        if (beg.contiguous_segment().empty()) {
992
2.46M
            return false;
993
2.46M
        }
994
        if constexpr (ranges::common_range<Range>) {
995
            return beg.contiguous_segment().end() ==
996
                   ranges::end(r).contiguous_segment().end();
997
        }
998
0
        else {
999
0
            if (beg.stores_parent()) {
1000
0
                return beg.contiguous_segment().end() ==
1001
0
                       beg.parent()->current_view().end();
1002
0
            }
1003
0
            return true;
1004
0
        }
1005
    }
1006
0
    else {
1007
0
        return false;
1008
0
    }
1009
2.46M
}
bool scn::v4::impl::is_segment_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Line
Count
Source
981
1.14M
{
982
    if constexpr (ranges::contiguous_range<Range> &&
983
                  ranges::sized_range<Range>) {
984
        return true;
985
    }
986
    else if constexpr (std::is_same_v<
987
                           ranges::const_iterator_t<Range>,
988
                           typename detail::basic_scan_buffer<
989
1.14M
                               detail::char_t<Range>>::forward_iterator>) {
990
1.14M
        auto beg = r.begin();
991
1.14M
        if (beg.contiguous_segment().empty()) {
992
1.14M
            return false;
993
1.14M
        }
994
        if constexpr (ranges::common_range<Range>) {
995
            return beg.contiguous_segment().end() ==
996
                   ranges::end(r).contiguous_segment().end();
997
        }
998
0
        else {
999
0
            if (beg.stores_parent()) {
1000
0
                return beg.contiguous_segment().end() ==
1001
0
                       beg.parent()->current_view().end();
1002
0
            }
1003
0
            return true;
1004
0
        }
1005
    }
1006
    else {
1007
        return false;
1008
    }
1009
1.14M
}
Unexecuted instantiation: bool scn::v4::impl::is_segment_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v4::impl::is_segment_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
bool scn::v4::impl::is_segment_contiguous<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
981
486
{
982
    if constexpr (ranges::contiguous_range<Range> &&
983
486
                  ranges::sized_range<Range>) {
984
486
        return true;
985
    }
986
    else if constexpr (std::is_same_v<
987
                           ranges::const_iterator_t<Range>,
988
                           typename detail::basic_scan_buffer<
989
                               detail::char_t<Range>>::forward_iterator>) {
990
        auto beg = r.begin();
991
        if (beg.contiguous_segment().empty()) {
992
            return false;
993
        }
994
        if constexpr (ranges::common_range<Range>) {
995
            return beg.contiguous_segment().end() ==
996
                   ranges::end(r).contiguous_segment().end();
997
        }
998
        else {
999
            if (beg.stores_parent()) {
1000
                return beg.contiguous_segment().end() ==
1001
                       beg.parent()->current_view().end();
1002
            }
1003
            return true;
1004
        }
1005
    }
1006
    else {
1007
        return false;
1008
    }
1009
486
}
bool scn::v4::impl::is_segment_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Line
Count
Source
981
1.32M
{
982
    if constexpr (ranges::contiguous_range<Range> &&
983
                  ranges::sized_range<Range>) {
984
        return true;
985
    }
986
    else if constexpr (std::is_same_v<
987
                           ranges::const_iterator_t<Range>,
988
                           typename detail::basic_scan_buffer<
989
1.32M
                               detail::char_t<Range>>::forward_iterator>) {
990
1.32M
        auto beg = r.begin();
991
1.32M
        if (beg.contiguous_segment().empty()) {
992
1.32M
            return false;
993
1.32M
        }
994
        if constexpr (ranges::common_range<Range>) {
995
            return beg.contiguous_segment().end() ==
996
                   ranges::end(r).contiguous_segment().end();
997
        }
998
0
        else {
999
0
            if (beg.stores_parent()) {
1000
0
                return beg.contiguous_segment().end() ==
1001
0
                       beg.parent()->current_view().end();
1002
0
            }
1003
0
            return true;
1004
0
        }
1005
    }
1006
    else {
1007
        return false;
1008
    }
1009
1.32M
}
1010
1011
template <typename Range>
1012
std::size_t contiguous_beginning_size(Range r)
1013
{
1014
    if constexpr (ranges::contiguous_range<Range> &&
1015
                  ranges::sized_range<Range>) {
1016
        return r.size();
1017
    }
1018
    else if constexpr (std::is_same_v<
1019
                           ranges::const_iterator_t<Range>,
1020
                           typename detail::basic_scan_buffer<
1021
                               detail::char_t<Range>>::forward_iterator>) {
1022
        if constexpr (ranges::common_range<Range>) {
1023
            auto seg = r.begin().contiguous_segment();
1024
            auto dist =
1025
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1026
            return std::min(seg.size(), dist);
1027
        }
1028
        else {
1029
            return r.begin().contiguous_segment().size();
1030
        }
1031
    }
1032
    else {
1033
        return false;
1034
    }
1035
}
1036
1037
template <typename Range>
1038
auto get_contiguous_beginning(Range r)
1039
1.34M
{
1040
    if constexpr (ranges::contiguous_range<Range> &&
1041
                  ranges::sized_range<Range>) {
1042
        return r;
1043
    }
1044
    else if constexpr (std::is_same_v<
1045
                           ranges::const_iterator_t<Range>,
1046
                           typename detail::basic_scan_buffer<
1047
1.34M
                               detail::char_t<Range>>::forward_iterator>) {
1048
        if constexpr (ranges::common_range<Range>) {
1049
            auto seg = r.begin().contiguous_segment();
1050
            auto dist =
1051
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1052
            return seg.substr(0, std::min(seg.size(), dist));
1053
        }
1054
1.34M
        else {
1055
1.34M
            return r.begin().contiguous_segment();
1056
1.34M
        }
1057
    }
1058
4.27k
    else {
1059
4.27k
        return std::basic_string_view<detail::char_t<Range>>{};
1060
4.27k
    }
1061
1.34M
}
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > > >(scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >)
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > > >(scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >)
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >)
auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
1039
1.72k
{
1040
    if constexpr (ranges::contiguous_range<Range> &&
1041
                  ranges::sized_range<Range>) {
1042
        return r;
1043
    }
1044
    else if constexpr (std::is_same_v<
1045
                           ranges::const_iterator_t<Range>,
1046
                           typename detail::basic_scan_buffer<
1047
                               detail::char_t<Range>>::forward_iterator>) {
1048
        if constexpr (ranges::common_range<Range>) {
1049
            auto seg = r.begin().contiguous_segment();
1050
            auto dist =
1051
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1052
            return seg.substr(0, std::min(seg.size(), dist));
1053
        }
1054
        else {
1055
            return r.begin().contiguous_segment();
1056
        }
1057
    }
1058
1.72k
    else {
1059
1.72k
        return std::basic_string_view<detail::char_t<Range>>{};
1060
1.72k
    }
1061
1.72k
}
auto scn::v4::impl::get_contiguous_beginning<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Line
Count
Source
1039
1.34M
{
1040
    if constexpr (ranges::contiguous_range<Range> &&
1041
                  ranges::sized_range<Range>) {
1042
        return r;
1043
    }
1044
    else if constexpr (std::is_same_v<
1045
                           ranges::const_iterator_t<Range>,
1046
                           typename detail::basic_scan_buffer<
1047
1.34M
                               detail::char_t<Range>>::forward_iterator>) {
1048
        if constexpr (ranges::common_range<Range>) {
1049
            auto seg = r.begin().contiguous_segment();
1050
            auto dist =
1051
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1052
            return seg.substr(0, std::min(seg.size(), dist));
1053
        }
1054
1.34M
        else {
1055
1.34M
            return r.begin().contiguous_segment();
1056
1.34M
        }
1057
    }
1058
    else {
1059
        return std::basic_string_view<detail::char_t<Range>>{};
1060
    }
1061
1.34M
}
auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > > >(scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >)
Line
Count
Source
1039
2.55k
{
1040
    if constexpr (ranges::contiguous_range<Range> &&
1041
                  ranges::sized_range<Range>) {
1042
        return r;
1043
    }
1044
    else if constexpr (std::is_same_v<
1045
                           ranges::const_iterator_t<Range>,
1046
                           typename detail::basic_scan_buffer<
1047
                               detail::char_t<Range>>::forward_iterator>) {
1048
        if constexpr (ranges::common_range<Range>) {
1049
            auto seg = r.begin().contiguous_segment();
1050
            auto dist =
1051
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1052
            return seg.substr(0, std::min(seg.size(), dist));
1053
        }
1054
        else {
1055
            return r.begin().contiguous_segment();
1056
        }
1057
    }
1058
2.55k
    else {
1059
2.55k
        return std::basic_string_view<detail::char_t<Range>>{};
1060
2.55k
    }
1061
2.55k
}
1062
1063
template <typename Range>
1064
auto get_as_contiguous(Range r)
1065
486
{
1066
486
    SCN_EXPECT(is_segment_contiguous(r));
1067
1068
    if constexpr (ranges::contiguous_range<Range> &&
1069
486
                  ranges::sized_range<Range>) {
1070
486
        return r;
1071
    }
1072
    else if constexpr (std::is_same_v<
1073
                           ranges::const_iterator_t<Range>,
1074
                           typename detail::basic_scan_buffer<
1075
0
                               detail::char_t<Range>>::forward_iterator>) {
1076
        if constexpr (ranges::common_range<Range>) {
1077
            return detail::make_string_view_from_pointers(
1078
                r.begin().to_contiguous_segment_iterator(),
1079
                r.end().to_contiguous_segment_iterator());
1080
        }
1081
0
        else {
1082
0
            return r.begin().contiguous_segment();
1083
0
        }
1084
    }
1085
0
    else {
1086
0
        SCN_EXPECT(false);
1087
0
        SCN_UNREACHABLE;
1088
        // for return type deduction
1089
0
        return std::basic_string_view<detail::char_t<Range>>{};
1090
0
    }
1091
486
}
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
auto scn::v4::impl::get_as_contiguous<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
1065
486
{
1066
486
    SCN_EXPECT(is_segment_contiguous(r));
1067
1068
    if constexpr (ranges::contiguous_range<Range> &&
1069
486
                  ranges::sized_range<Range>) {
1070
486
        return r;
1071
    }
1072
    else if constexpr (std::is_same_v<
1073
                           ranges::const_iterator_t<Range>,
1074
                           typename detail::basic_scan_buffer<
1075
                               detail::char_t<Range>>::forward_iterator>) {
1076
        if constexpr (ranges::common_range<Range>) {
1077
            return detail::make_string_view_from_pointers(
1078
                r.begin().to_contiguous_segment_iterator(),
1079
                r.end().to_contiguous_segment_iterator());
1080
        }
1081
        else {
1082
            return r.begin().contiguous_segment();
1083
        }
1084
    }
1085
    else {
1086
        SCN_EXPECT(false);
1087
        SCN_UNREACHABLE;
1088
        // for return type deduction
1089
        return std::basic_string_view<detail::char_t<Range>>{};
1090
    }
1091
486
}
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
1092
1093
template <typename Range>
1094
std::size_t guaranteed_minimum_size(Range r)
1095
3.31M
{
1096
    if constexpr (ranges::sized_range<Range>) {
1097
        return r.size();
1098
    }
1099
    else if constexpr (std::is_same_v<
1100
                           ranges::const_iterator_t<Range>,
1101
                           typename detail::basic_scan_buffer<
1102
3.30M
                               detail::char_t<Range>>::forward_iterator>) {
1103
        if constexpr (ranges::common_range<Range>) {
1104
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1105
        }
1106
3.30M
        else {
1107
3.30M
            if (r.begin().stores_parent()) {
1108
3.30M
                return static_cast<size_t>(
1109
3.30M
                    r.begin().parent()->chars_available() -
1110
3.30M
                    r.begin().position());
1111
3.30M
            }
1112
0
            return r.begin().contiguous_segment().size();
1113
3.30M
        }
1114
    }
1115
11.5k
    else {
1116
11.5k
        return 0;
1117
11.5k
    }
1118
3.31M
}
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Line
Count
Source
1095
1.88M
{
1096
    if constexpr (ranges::sized_range<Range>) {
1097
        return r.size();
1098
    }
1099
    else if constexpr (std::is_same_v<
1100
                           ranges::const_iterator_t<Range>,
1101
                           typename detail::basic_scan_buffer<
1102
1.88M
                               detail::char_t<Range>>::forward_iterator>) {
1103
        if constexpr (ranges::common_range<Range>) {
1104
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1105
        }
1106
1.88M
        else {
1107
1.88M
            if (r.begin().stores_parent()) {
1108
1.88M
                return static_cast<size_t>(
1109
1.88M
                    r.begin().parent()->chars_available() -
1110
1.88M
                    r.begin().position());
1111
1.88M
            }
1112
0
            return r.begin().contiguous_segment().size();
1113
1.88M
        }
1114
    }
1115
    else {
1116
        return 0;
1117
    }
1118
1.88M
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
1095
7.64k
{
1096
    if constexpr (ranges::sized_range<Range>) {
1097
        return r.size();
1098
    }
1099
    else if constexpr (std::is_same_v<
1100
                           ranges::const_iterator_t<Range>,
1101
                           typename detail::basic_scan_buffer<
1102
                               detail::char_t<Range>>::forward_iterator>) {
1103
        if constexpr (ranges::common_range<Range>) {
1104
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1105
        }
1106
        else {
1107
            if (r.begin().stores_parent()) {
1108
                return static_cast<size_t>(
1109
                    r.begin().parent()->chars_available() -
1110
                    r.begin().position());
1111
            }
1112
            return r.begin().contiguous_segment().size();
1113
        }
1114
    }
1115
7.64k
    else {
1116
7.64k
        return 0;
1117
7.64k
    }
1118
7.64k
}
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Line
Count
Source
1095
1.41M
{
1096
    if constexpr (ranges::sized_range<Range>) {
1097
        return r.size();
1098
    }
1099
    else if constexpr (std::is_same_v<
1100
                           ranges::const_iterator_t<Range>,
1101
                           typename detail::basic_scan_buffer<
1102
1.41M
                               detail::char_t<Range>>::forward_iterator>) {
1103
        if constexpr (ranges::common_range<Range>) {
1104
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1105
        }
1106
1.41M
        else {
1107
1.41M
            if (r.begin().stores_parent()) {
1108
1.41M
                return static_cast<size_t>(
1109
1.41M
                    r.begin().parent()->chars_available() -
1110
1.41M
                    r.begin().position());
1111
1.41M
            }
1112
0
            return r.begin().contiguous_segment().size();
1113
1.41M
        }
1114
    }
1115
    else {
1116
        return 0;
1117
    }
1118
1.41M
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
1095
1.10k
{
1096
    if constexpr (ranges::sized_range<Range>) {
1097
        return r.size();
1098
    }
1099
    else if constexpr (std::is_same_v<
1100
                           ranges::const_iterator_t<Range>,
1101
                           typename detail::basic_scan_buffer<
1102
                               detail::char_t<Range>>::forward_iterator>) {
1103
        if constexpr (ranges::common_range<Range>) {
1104
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1105
        }
1106
        else {
1107
            if (r.begin().stores_parent()) {
1108
                return static_cast<size_t>(
1109
                    r.begin().parent()->chars_available() -
1110
                    r.begin().position());
1111
            }
1112
            return r.begin().contiguous_segment().size();
1113
        }
1114
    }
1115
1.10k
    else {
1116
1.10k
        return 0;
1117
1.10k
    }
1118
1.10k
}
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
1095
1.33k
{
1096
    if constexpr (ranges::sized_range<Range>) {
1097
        return r.size();
1098
    }
1099
    else if constexpr (std::is_same_v<
1100
                           ranges::const_iterator_t<Range>,
1101
                           typename detail::basic_scan_buffer<
1102
                               detail::char_t<Range>>::forward_iterator>) {
1103
        if constexpr (ranges::common_range<Range>) {
1104
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1105
        }
1106
        else {
1107
            if (r.begin().stores_parent()) {
1108
                return static_cast<size_t>(
1109
                    r.begin().parent()->chars_available() -
1110
                    r.begin().position());
1111
            }
1112
            return r.begin().contiguous_segment().size();
1113
        }
1114
    }
1115
1.33k
    else {
1116
1.33k
        return 0;
1117
1.33k
    }
1118
1.33k
}
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
1095
1.00k
{
1096
    if constexpr (ranges::sized_range<Range>) {
1097
        return r.size();
1098
    }
1099
    else if constexpr (std::is_same_v<
1100
                           ranges::const_iterator_t<Range>,
1101
                           typename detail::basic_scan_buffer<
1102
                               detail::char_t<Range>>::forward_iterator>) {
1103
        if constexpr (ranges::common_range<Range>) {
1104
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1105
        }
1106
        else {
1107
            if (r.begin().stores_parent()) {
1108
                return static_cast<size_t>(
1109
                    r.begin().parent()->chars_available() -
1110
                    r.begin().position());
1111
            }
1112
            return r.begin().contiguous_segment().size();
1113
        }
1114
    }
1115
1.00k
    else {
1116
1.00k
        return 0;
1117
1.00k
    }
1118
1.00k
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
1095
516
{
1096
    if constexpr (ranges::sized_range<Range>) {
1097
        return r.size();
1098
    }
1099
    else if constexpr (std::is_same_v<
1100
                           ranges::const_iterator_t<Range>,
1101
                           typename detail::basic_scan_buffer<
1102
                               detail::char_t<Range>>::forward_iterator>) {
1103
        if constexpr (ranges::common_range<Range>) {
1104
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1105
        }
1106
        else {
1107
            if (r.begin().stores_parent()) {
1108
                return static_cast<size_t>(
1109
                    r.begin().parent()->chars_available() -
1110
                    r.begin().position());
1111
            }
1112
            return r.begin().contiguous_segment().size();
1113
        }
1114
    }
1115
516
    else {
1116
516
        return 0;
1117
516
    }
1118
516
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
1119
1120
template <typename I, typename T>
1121
struct iterator_value_result {
1122
    SCN_NO_UNIQUE_ADDRESS I iterator;
1123
    SCN_NO_UNIQUE_ADDRESS T value;
1124
};
1125
1126
}  // namespace impl
1127
1128
/////////////////////////////////////////////////////////////////
1129
// File support
1130
/////////////////////////////////////////////////////////////////
1131
1132
namespace detail {
1133
1134
template <typename FileInterface>
1135
basic_scan_file_buffer<FileInterface>::basic_scan_file_buffer(
1136
    FileInterface file)
1137
0
    : base(base::non_contiguous_tag{}), m_file(SCN_MOVE(file))
1138
0
{
1139
0
    m_file.lock();
1140
0
}
1141
1142
template <typename FileInterface>
1143
basic_scan_file_buffer<FileInterface>::~basic_scan_file_buffer()
1144
0
{
1145
0
    m_file.unlock();
1146
0
}
1147
1148
template <typename FileInterface>
1149
bool basic_scan_file_buffer<FileInterface>::fill()
1150
0
{
1151
0
    if (!this->m_current_view.empty()) {
1152
0
        this->m_putback_buffer.insert(this->m_putback_buffer.end(),
1153
0
                                      this->m_current_view.begin(),
1154
0
                                      this->m_current_view.end());
1155
0
    }
1156
1157
0
    if (m_file.has_buffering()) {
1158
0
        if (!this->m_current_view.empty()) {
1159
0
            m_file.unsafe_advance_n(this->m_current_view.size());
1160
0
        }
1161
1162
0
        if (m_file.buffer().empty()) {
1163
0
            m_file.fill_buffer();
1164
0
        }
1165
0
        m_current_view = m_file.buffer();
1166
0
        return !this->m_current_view.empty();
1167
0
    }
1168
1169
0
    this->m_latest = m_file.read_one();
1170
0
    if (!this->m_latest) {
1171
0
        this->m_current_view = {};
1172
0
        return false;
1173
0
    }
1174
1175
0
    this->m_current_view = {&*this->m_latest, 1};
1176
0
    return true;
1177
0
}
1178
1179
template <typename FileInterface>
1180
bool basic_scan_file_buffer<FileInterface>::sync(std::ptrdiff_t position)
1181
0
{
1182
0
    struct putback_wrapper {
1183
0
        putback_wrapper(FileInterface& i) : i(i)
1184
0
        {
1185
0
            i.prepare_putback();
1186
0
        }
1187
0
        ~putback_wrapper()
1188
0
        {
1189
0
            i.finalize_putback();
1190
0
        }
1191
1192
0
        FileInterface& i;
1193
0
    };
1194
1195
0
    if (m_file.has_buffering()) {
1196
0
        if (position <
1197
0
            static_cast<std::ptrdiff_t>(this->putback_buffer().size())) {
1198
0
            putback_wrapper wrapper{m_file};
1199
0
            auto segment = this->get_segment_starting_at(position);
1200
0
            for (auto it = segment.rbegin(); it != segment.rend(); ++it) {
1201
0
                if (!m_file.putback(*it)) {
1202
0
                    return false;
1203
0
                }
1204
0
            }
1205
0
            return true;
1206
0
        }
1207
1208
0
        m_file.unsafe_advance_n(position - static_cast<std::ptrdiff_t>(
1209
0
                                               this->putback_buffer().size()));
1210
0
        return true;
1211
0
    }
1212
1213
0
    const auto chars_avail = this->chars_available();
1214
0
    if (position == chars_avail) {
1215
0
        return true;
1216
0
    }
1217
1218
0
    putback_wrapper wrapper{m_file};
1219
0
    SCN_EXPECT(m_current_view.size() == 1);
1220
0
    m_file.putback(m_current_view.front());
1221
1222
0
    auto segment = std::string_view{this->putback_buffer()}.substr(position);
1223
0
    for (auto it = segment.rbegin(); it != segment.rend(); ++it) {
1224
0
        if (!m_file.putback(*it)) {
1225
0
            return false;
1226
0
        }
1227
0
    }
1228
0
    return true;
1229
0
}
1230
1231
}  // namespace detail
1232
1233
/////////////////////////////////////////////////////////////////
1234
// Unicode
1235
/////////////////////////////////////////////////////////////////
1236
1237
namespace impl {
1238
1239
template <typename CharT>
1240
constexpr bool validate_unicode(std::basic_string_view<CharT> src)
1241
2.35M
{
1242
2.35M
    auto it = src.begin();
1243
63.2M
    while (it != src.end()) {
1244
60.8M
        const auto len = detail::code_point_length_by_starting_code_unit(*it);
1245
60.8M
        if (len == 0) {
1246
5.92k
            return false;
1247
5.92k
        }
1248
60.8M
        if (src.end() - it < len) {
1249
1.00k
            return false;
1250
1.00k
        }
1251
60.8M
        const auto cp = detail::decode_code_point_exhaustive(
1252
60.8M
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1253
60.8M
        if (cp >= detail::invalid_code_point) {
1254
23.2k
            return false;
1255
23.2k
        }
1256
60.8M
        it += len;
1257
60.8M
    }
1258
2.32M
    return true;
1259
2.35M
}
bool scn::v4::impl::validate_unicode<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1241
311k
{
1242
311k
    auto it = src.begin();
1243
2.88M
    while (it != src.end()) {
1244
2.58M
        const auto len = detail::code_point_length_by_starting_code_unit(*it);
1245
2.58M
        if (len == 0) {
1246
5.92k
            return false;
1247
5.92k
        }
1248
2.57M
        if (src.end() - it < len) {
1249
1.00k
            return false;
1250
1.00k
        }
1251
2.57M
        const auto cp = detail::decode_code_point_exhaustive(
1252
2.57M
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1253
2.57M
        if (cp >= detail::invalid_code_point) {
1254
2.74k
            return false;
1255
2.74k
        }
1256
2.57M
        it += len;
1257
2.57M
    }
1258
301k
    return true;
1259
311k
}
bool scn::v4::impl::validate_unicode<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1241
2.04M
{
1242
2.04M
    auto it = src.begin();
1243
60.3M
    while (it != src.end()) {
1244
58.2M
        const auto len = detail::code_point_length_by_starting_code_unit(*it);
1245
58.2M
        if (len == 0) {
1246
0
            return false;
1247
0
        }
1248
58.2M
        if (src.end() - it < len) {
1249
0
            return false;
1250
0
        }
1251
58.2M
        const auto cp = detail::decode_code_point_exhaustive(
1252
58.2M
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1253
58.2M
        if (cp >= detail::invalid_code_point) {
1254
20.4k
            return false;
1255
20.4k
        }
1256
58.2M
        it += len;
1257
58.2M
    }
1258
2.02M
    return true;
1259
2.04M
}
1260
1261
template <typename Range>
1262
constexpr auto get_start_for_next_code_point(Range input)
1263
    -> ranges::const_iterator_t<Range>
1264
113k
{
1265
113k
    auto it = input.begin();
1266
716k
    for (; it != input.end(); ++it) {
1267
700k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1268
96.8k
            break;
1269
96.8k
        }
1270
700k
    }
1271
113k
    return it;
1272
113k
}
_ZN3scn2v44impl29get_start_for_next_code_pointINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
1264
61.7k
{
1265
61.7k
    auto it = input.begin();
1266
389k
    for (; it != input.end(); ++it) {
1267
375k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1268
48.5k
            break;
1269
48.5k
        }
1270
375k
    }
1271
61.7k
    return it;
1272
61.7k
}
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESN_
_ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_
Line
Count
Source
1264
6.55k
{
1265
6.55k
    auto it = input.begin();
1266
7.98k
    for (; it != input.end(); ++it) {
1267
7.74k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1268
6.31k
            break;
1269
6.31k
        }
1270
7.74k
    }
1271
6.55k
    return it;
1272
6.55k
}
_ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
1264
43.8k
{
1265
43.8k
    auto it = input.begin();
1266
317k
    for (; it != input.end(); ++it) {
1267
314k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1268
40.8k
            break;
1269
40.8k
        }
1270
314k
    }
1271
43.8k
    return it;
1272
43.8k
}
_ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1264
1.21k
{
1265
1.21k
    auto it = input.begin();
1266
1.71k
    for (; it != input.end(); ++it) {
1267
1.65k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1268
1.15k
            break;
1269
1.15k
        }
1270
1.65k
    }
1271
1.21k
    return it;
1272
1.21k
}
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESO_
1273
1274
template <typename CharT>
1275
constexpr auto get_next_code_point(std::basic_string_view<CharT> input)
1276
    -> iterator_value_result<typename std::basic_string_view<CharT>::iterator,
1277
                             char32_t>
1278
264M
{
1279
264M
    SCN_EXPECT(!input.empty());
1280
1281
264M
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1282
264M
    if (SCN_UNLIKELY(len == 0)) {
1283
61.7k
        return {get_start_for_next_code_point(input),
1284
61.7k
                detail::invalid_code_point};
1285
61.7k
    }
1286
264M
    if (SCN_UNLIKELY(len > input.size())) {
1287
31.4k
        return {input.end(), detail::invalid_code_point};
1288
31.4k
    }
1289
1290
264M
    return {input.begin() + len,
1291
264M
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1292
264M
}
scn::v4::impl::iterator_value_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, char32_t> scn::v4::impl::get_next_code_point<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1278
2.20M
{
1279
2.20M
    SCN_EXPECT(!input.empty());
1280
1281
2.20M
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1282
2.20M
    if (SCN_UNLIKELY(len == 0)) {
1283
61.7k
        return {get_start_for_next_code_point(input),
1284
61.7k
                detail::invalid_code_point};
1285
61.7k
    }
1286
2.14M
    if (SCN_UNLIKELY(len > input.size())) {
1287
31.4k
        return {input.end(), detail::invalid_code_point};
1288
31.4k
    }
1289
1290
2.10M
    return {input.begin() + len,
1291
2.10M
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1292
2.14M
}
scn::v4::impl::iterator_value_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, char32_t> scn::v4::impl::get_next_code_point<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1278
262M
{
1279
262M
    SCN_EXPECT(!input.empty());
1280
1281
262M
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1282
262M
    if (SCN_UNLIKELY(len == 0)) {
1283
0
        return {get_start_for_next_code_point(input),
1284
0
                detail::invalid_code_point};
1285
0
    }
1286
262M
    if (SCN_UNLIKELY(len > input.size())) {
1287
0
        return {input.end(), detail::invalid_code_point};
1288
0
    }
1289
1290
262M
    return {input.begin() + len,
1291
262M
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1292
262M
}
1293
1294
template <typename CharT>
1295
constexpr auto get_next_code_point_valid(std::basic_string_view<CharT> input)
1296
    -> iterator_value_result<typename std::basic_string_view<CharT>::iterator,
1297
                             char32_t>
1298
239k
{
1299
239k
    SCN_EXPECT(!input.empty());
1300
1301
239k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1302
239k
    SCN_EXPECT(len <= input.size());
1303
1304
239k
    return {input.begin() + len,
1305
239k
            detail::decode_code_point_exhaustive_valid(input.substr(0, len))};
1306
239k
}
1307
1308
template <typename CharT>
1309
struct is_first_char_space_result {
1310
    ranges::iterator_t<std::basic_string_view<CharT>> iterator;
1311
    char32_t cp;
1312
    bool is_space;
1313
};
1314
1315
template <typename CharT>
1316
inline constexpr auto is_first_char_space(std::basic_string_view<CharT> str)
1317
    -> is_first_char_space_result<CharT>
1318
262M
{
1319
    // TODO: optimize
1320
262M
    SCN_EXPECT(!str.empty());
1321
262M
    auto res = get_next_code_point(str);
1322
262M
    return {res.iterator, res.value, detail::is_cp_space(res.value)};
1323
262M
}
scn::v4::impl::is_first_char_space_result<char> scn::v4::impl::is_first_char_space<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1318
76.6k
{
1319
    // TODO: optimize
1320
76.6k
    SCN_EXPECT(!str.empty());
1321
76.6k
    auto res = get_next_code_point(str);
1322
76.6k
    return {res.iterator, res.value, detail::is_cp_space(res.value)};
1323
76.6k
}
scn::v4::impl::is_first_char_space_result<wchar_t> scn::v4::impl::is_first_char_space<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1318
262M
{
1319
    // TODO: optimize
1320
262M
    SCN_EXPECT(!str.empty());
1321
262M
    auto res = get_next_code_point(str);
1322
262M
    return {res.iterator, res.value, detail::is_cp_space(res.value)};
1323
262M
}
1324
1325
inline constexpr scan_expected<wchar_t> encode_code_point_as_wide_character(
1326
    char32_t cp,
1327
    bool error_on_overflow)
1328
0
{
1329
0
    SCN_EXPECT(cp < detail::invalid_code_point);
1330
0
    if constexpr (sizeof(wchar_t) == sizeof(char32_t)) {
1331
0
        SCN_UNUSED(error_on_overflow);
1332
0
        return static_cast<wchar_t>(cp);
1333
    }
1334
    else {
1335
        if (cp < 0x10000) {
1336
            return static_cast<wchar_t>(cp);
1337
        }
1338
        if (error_on_overflow) {
1339
            return detail::unexpected_scan_error(
1340
                scan_error::value_positive_overflow,
1341
                "Non-BMP code point can't be "
1342
                "narrowed to a single 2-byte "
1343
                "wchar_t code unit");
1344
        }
1345
        // Return the lead surrogate
1346
        return static_cast<wchar_t>(
1347
            (static_cast<uint32_t>(cp) - 0x10000) / 0x400 + 0xd800);
1348
    }
1349
0
}
1350
1351
template <typename SourceCharT, typename DestCharT>
1352
void transcode_to_string_impl_to32(std::basic_string_view<SourceCharT> src,
1353
                                   std::basic_string<DestCharT>& dest)
1354
7.92k
{
1355
7.92k
    static_assert(sizeof(DestCharT) == 4);
1356
1357
7.92k
    auto it = src.begin();
1358
1.20M
    while (it != src.end()) {
1359
1.19M
        auto res = get_next_code_point(
1360
1.19M
            detail::make_string_view_from_iterators<SourceCharT>(it,
1361
1.19M
                                                                 src.end()));
1362
1.19M
        if (SCN_UNLIKELY(res.value == detail::invalid_code_point)) {
1363
17.9k
            dest.push_back(DestCharT{0xfffd});
1364
17.9k
        }
1365
1.17M
        else {
1366
1.17M
            dest.push_back(res.value);
1367
1.17M
        }
1368
1.19M
        it = detail::make_string_view_iterator(src, res.iterator);
1369
1.19M
    }
1370
7.92k
}
1371
template <typename SourceCharT, typename DestCharT>
1372
void transcode_valid_to_string_impl_to32(
1373
    std::basic_string_view<SourceCharT> src,
1374
    std::basic_string<DestCharT>& dest)
1375
2.15k
{
1376
2.15k
    static_assert(sizeof(DestCharT) == 4);
1377
1378
2.15k
    auto it = src.begin();
1379
242k
    while (it != src.end()) {
1380
239k
        auto res = get_next_code_point_valid(
1381
239k
            detail::make_string_view_from_iterators<SourceCharT>(it,
1382
239k
                                                                 src.end()));
1383
239k
        SCN_EXPECT(res.value < detail::invalid_code_point);
1384
239k
        dest.push_back(res.value);
1385
239k
        it = detail::make_string_view_iterator(src, res.iterator);
1386
239k
    }
1387
2.15k
}
1388
1389
template <bool VerifiedValid, typename SourceCharT, typename DestCharT>
1390
void transcode_to_string_impl_32to8(std::basic_string_view<SourceCharT> src,
1391
                                    std::basic_string<DestCharT>& dest)
1392
1.55k
{
1393
1.55k
    static_assert(sizeof(SourceCharT) == 4);
1394
1.55k
    static_assert(sizeof(DestCharT) == 1);
1395
1396
22.8k
    for (auto cp : src) {
1397
22.8k
        const auto u32cp = static_cast<uint32_t>(cp);
1398
22.8k
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1399
            // Replacement character
1400
194
            dest.push_back(static_cast<char>(0xef));
1401
194
            dest.push_back(static_cast<char>(0xbf));
1402
194
            dest.push_back(static_cast<char>(0xbd));
1403
194
        }
1404
22.6k
        else if (cp < 128) {
1405
17.3k
            dest.push_back(static_cast<char>(cp));
1406
17.3k
        }
1407
5.29k
        else if (cp < 2048) {
1408
459
            dest.push_back(
1409
459
                static_cast<char>(0xc0 | (static_cast<char>(u32cp >> 6))));
1410
459
            dest.push_back(
1411
459
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1412
459
        }
1413
4.83k
        else if (cp < 65536) {
1414
4.12k
            dest.push_back(
1415
4.12k
                static_cast<char>(0xe0 | (static_cast<char>(u32cp >> 12))));
1416
4.12k
            dest.push_back(static_cast<char>(
1417
4.12k
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1418
4.12k
            dest.push_back(
1419
4.12k
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1420
4.12k
        }
1421
713
        else {
1422
713
            dest.push_back(
1423
713
                static_cast<char>(0xf0 | (static_cast<char>(u32cp >> 18))));
1424
713
            dest.push_back(static_cast<char>(
1425
713
                0x80 | (static_cast<char>(u32cp >> 12) & 0x3f)));
1426
713
            dest.push_back(static_cast<char>(
1427
713
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1428
713
            dest.push_back(
1429
713
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1430
713
        }
1431
22.8k
    }
1432
1.55k
}
void scn::v4::impl::transcode_to_string_impl_32to8<true, wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1392
1.28k
{
1393
1.28k
    static_assert(sizeof(SourceCharT) == 4);
1394
1.28k
    static_assert(sizeof(DestCharT) == 1);
1395
1396
12.2k
    for (auto cp : src) {
1397
12.2k
        const auto u32cp = static_cast<uint32_t>(cp);
1398
12.2k
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1399
            // Replacement character
1400
0
            dest.push_back(static_cast<char>(0xef));
1401
0
            dest.push_back(static_cast<char>(0xbf));
1402
0
            dest.push_back(static_cast<char>(0xbd));
1403
0
        }
1404
12.2k
        else if (cp < 128) {
1405
10.1k
            dest.push_back(static_cast<char>(cp));
1406
10.1k
        }
1407
2.02k
        else if (cp < 2048) {
1408
210
            dest.push_back(
1409
210
                static_cast<char>(0xc0 | (static_cast<char>(u32cp >> 6))));
1410
210
            dest.push_back(
1411
210
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1412
210
        }
1413
1.81k
        else if (cp < 65536) {
1414
1.37k
            dest.push_back(
1415
1.37k
                static_cast<char>(0xe0 | (static_cast<char>(u32cp >> 12))));
1416
1.37k
            dest.push_back(static_cast<char>(
1417
1.37k
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1418
1.37k
            dest.push_back(
1419
1.37k
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1420
1.37k
        }
1421
436
        else {
1422
436
            dest.push_back(
1423
436
                static_cast<char>(0xf0 | (static_cast<char>(u32cp >> 18))));
1424
436
            dest.push_back(static_cast<char>(
1425
436
                0x80 | (static_cast<char>(u32cp >> 12) & 0x3f)));
1426
436
            dest.push_back(static_cast<char>(
1427
436
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1428
436
            dest.push_back(
1429
436
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1430
436
        }
1431
12.2k
    }
1432
1.28k
}
void scn::v4::impl::transcode_to_string_impl_32to8<false, wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1392
271
{
1393
271
    static_assert(sizeof(SourceCharT) == 4);
1394
271
    static_assert(sizeof(DestCharT) == 1);
1395
1396
10.6k
    for (auto cp : src) {
1397
10.6k
        const auto u32cp = static_cast<uint32_t>(cp);
1398
10.6k
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1399
            // Replacement character
1400
194
            dest.push_back(static_cast<char>(0xef));
1401
194
            dest.push_back(static_cast<char>(0xbf));
1402
194
            dest.push_back(static_cast<char>(0xbd));
1403
194
        }
1404
10.4k
        else if (cp < 128) {
1405
7.19k
            dest.push_back(static_cast<char>(cp));
1406
7.19k
        }
1407
3.27k
        else if (cp < 2048) {
1408
249
            dest.push_back(
1409
249
                static_cast<char>(0xc0 | (static_cast<char>(u32cp >> 6))));
1410
249
            dest.push_back(
1411
249
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1412
249
        }
1413
3.02k
        else if (cp < 65536) {
1414
2.74k
            dest.push_back(
1415
2.74k
                static_cast<char>(0xe0 | (static_cast<char>(u32cp >> 12))));
1416
2.74k
            dest.push_back(static_cast<char>(
1417
2.74k
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1418
2.74k
            dest.push_back(
1419
2.74k
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1420
2.74k
        }
1421
277
        else {
1422
277
            dest.push_back(
1423
277
                static_cast<char>(0xf0 | (static_cast<char>(u32cp >> 18))));
1424
277
            dest.push_back(static_cast<char>(
1425
277
                0x80 | (static_cast<char>(u32cp >> 12) & 0x3f)));
1426
277
            dest.push_back(static_cast<char>(
1427
277
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1428
277
            dest.push_back(
1429
277
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1430
277
        }
1431
10.6k
    }
1432
271
}
1433
1434
template <bool VerifiedValid, typename SourceCharT, typename DestCharT>
1435
void transcode_to_string_impl_32to16(std::basic_string_view<SourceCharT> src,
1436
                                     std::basic_string<DestCharT>& dest)
1437
{
1438
    static_assert(sizeof(SourceCharT) == 4);
1439
    static_assert(sizeof(DestCharT) == 2);
1440
1441
    for (auto cp : src) {
1442
        const auto u32cp = static_cast<uint32_t>(cp);
1443
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1444
            dest.push_back(char16_t{0xfffd});
1445
        }
1446
        else if (cp < 0x10000) {
1447
            dest.push_back(static_cast<char16_t>(cp));
1448
        }
1449
        else {
1450
            dest.push_back(
1451
                static_cast<char16_t>((u32cp - 0x10000) / 0x400 + 0xd800));
1452
            dest.push_back(
1453
                static_cast<char16_t>((u32cp - 0x10000) % 0x400 + 0xd800));
1454
        }
1455
    }
1456
}
1457
1458
template <typename SourceCharT, typename DestCharT>
1459
void transcode_to_string(std::basic_string_view<SourceCharT> src,
1460
                         std::basic_string<DestCharT>& dest)
1461
8.20k
{
1462
8.20k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1463
1464
8.20k
    if constexpr (sizeof(SourceCharT) == 1) {
1465
        if constexpr (sizeof(DestCharT) == 2) {
1466
            std::u32string tmp;
1467
            transcode_to_string_impl_to32(src, tmp);
1468
            return transcode_to_string_impl_32to16<false>(
1469
                std::u32string_view{tmp}, dest);
1470
        }
1471
7.92k
        else if constexpr (sizeof(DestCharT) == 4) {
1472
7.92k
            return transcode_to_string_impl_to32(src, dest);
1473
7.92k
        }
1474
    }
1475
    else if constexpr (sizeof(SourceCharT) == 2) {
1476
        if constexpr (sizeof(DestCharT) == 1) {
1477
            std::u32string tmp;
1478
            transcode_to_string_impl_to32(src, tmp);
1479
            return transcode_to_string_impl_32to8<false>(
1480
                std::u32string_view{tmp}, dest);
1481
        }
1482
        else if constexpr (sizeof(DestCharT) == 4) {
1483
            return trasncode_to_string_impl_to32(src, dest);
1484
        }
1485
    }
1486
271
    else if constexpr (sizeof(SourceCharT) == 4) {
1487
271
        if constexpr (sizeof(DestCharT) == 1) {
1488
271
            return transcode_to_string_impl_32to8<false>(src, dest);
1489
        }
1490
        else if constexpr (sizeof(DestCharT) == 2) {
1491
            return transcode_to_string_impl_32to16<false>(src, dest);
1492
        }
1493
271
    }
1494
1495
8.20k
    SCN_EXPECT(false);
1496
8.20k
    SCN_UNREACHABLE;
1497
8.20k
}
void scn::v4::impl::transcode_to_string<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
1461
7.92k
{
1462
7.92k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1463
1464
7.92k
    if constexpr (sizeof(SourceCharT) == 1) {
1465
        if constexpr (sizeof(DestCharT) == 2) {
1466
            std::u32string tmp;
1467
            transcode_to_string_impl_to32(src, tmp);
1468
            return transcode_to_string_impl_32to16<false>(
1469
                std::u32string_view{tmp}, dest);
1470
        }
1471
7.92k
        else if constexpr (sizeof(DestCharT) == 4) {
1472
7.92k
            return transcode_to_string_impl_to32(src, dest);
1473
7.92k
        }
1474
    }
1475
    else if constexpr (sizeof(SourceCharT) == 2) {
1476
        if constexpr (sizeof(DestCharT) == 1) {
1477
            std::u32string tmp;
1478
            transcode_to_string_impl_to32(src, tmp);
1479
            return transcode_to_string_impl_32to8<false>(
1480
                std::u32string_view{tmp}, dest);
1481
        }
1482
        else if constexpr (sizeof(DestCharT) == 4) {
1483
            return trasncode_to_string_impl_to32(src, dest);
1484
        }
1485
    }
1486
    else if constexpr (sizeof(SourceCharT) == 4) {
1487
        if constexpr (sizeof(DestCharT) == 1) {
1488
            return transcode_to_string_impl_32to8<false>(src, dest);
1489
        }
1490
        else if constexpr (sizeof(DestCharT) == 2) {
1491
            return transcode_to_string_impl_32to16<false>(src, dest);
1492
        }
1493
    }
1494
1495
7.92k
    SCN_EXPECT(false);
1496
0
    SCN_UNREACHABLE;
1497
7.92k
}
void scn::v4::impl::transcode_to_string<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1461
271
{
1462
271
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1463
1464
    if constexpr (sizeof(SourceCharT) == 1) {
1465
        if constexpr (sizeof(DestCharT) == 2) {
1466
            std::u32string tmp;
1467
            transcode_to_string_impl_to32(src, tmp);
1468
            return transcode_to_string_impl_32to16<false>(
1469
                std::u32string_view{tmp}, dest);
1470
        }
1471
        else if constexpr (sizeof(DestCharT) == 4) {
1472
            return transcode_to_string_impl_to32(src, dest);
1473
        }
1474
    }
1475
    else if constexpr (sizeof(SourceCharT) == 2) {
1476
        if constexpr (sizeof(DestCharT) == 1) {
1477
            std::u32string tmp;
1478
            transcode_to_string_impl_to32(src, tmp);
1479
            return transcode_to_string_impl_32to8<false>(
1480
                std::u32string_view{tmp}, dest);
1481
        }
1482
        else if constexpr (sizeof(DestCharT) == 4) {
1483
            return trasncode_to_string_impl_to32(src, dest);
1484
        }
1485
    }
1486
271
    else if constexpr (sizeof(SourceCharT) == 4) {
1487
271
        if constexpr (sizeof(DestCharT) == 1) {
1488
271
            return transcode_to_string_impl_32to8<false>(src, dest);
1489
        }
1490
        else if constexpr (sizeof(DestCharT) == 2) {
1491
            return transcode_to_string_impl_32to16<false>(src, dest);
1492
        }
1493
271
    }
1494
1495
271
    SCN_EXPECT(false);
1496
0
    SCN_UNREACHABLE;
1497
271
}
1498
template <typename SourceCharT, typename DestCharT>
1499
void transcode_valid_to_string(std::basic_string_view<SourceCharT> src,
1500
                               std::basic_string<DestCharT>& dest)
1501
3.44k
{
1502
3.44k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1503
1504
3.44k
    SCN_EXPECT(validate_unicode(src));
1505
3.44k
    if constexpr (sizeof(SourceCharT) == 1) {
1506
        if constexpr (sizeof(DestCharT) == 2) {
1507
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1508
            std::u32string tmp;
1509
            transcode_valid_to_string_impl_to32(src, tmp);
1510
            return transcode_to_string_impl_32to16<true>(
1511
                std::u32string_view{tmp}, dest);
1512
        }
1513
2.15k
        else if constexpr (sizeof(DestCharT) == 4) {
1514
2.15k
            return transcode_valid_to_string_impl_to32(src, dest);
1515
2.15k
        }
1516
    }
1517
    else if constexpr (sizeof(SourceCharT) == 2) {
1518
        if constexpr (sizeof(DestCharT) == 1) {
1519
            std::u32string tmp;
1520
            transcode_valid_to_string_impl_to32(src, tmp);
1521
            return transcode_to_string_impl_32to8<true>(
1522
                std::u32string_view{tmp}, dest);
1523
        }
1524
        else if constexpr (sizeof(DestCharT) == 4) {
1525
            return trasncode_valid_to_string_impl_to32(src, dest);
1526
        }
1527
    }
1528
1.28k
    else if constexpr (sizeof(SourceCharT) == 4) {
1529
1.28k
        if constexpr (sizeof(DestCharT) == 1) {
1530
1.28k
            return transcode_to_string_impl_32to8<true>(src, dest);
1531
        }
1532
        else if constexpr (sizeof(DestCharT) == 2) {
1533
            return transcode_to_string_impl_32to16<true>(src, dest);
1534
        }
1535
1.28k
    }
1536
1537
3.44k
    SCN_EXPECT(false);
1538
3.44k
    SCN_UNREACHABLE;
1539
3.44k
}
void scn::v4::impl::transcode_valid_to_string<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
1501
2.15k
{
1502
2.15k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1503
1504
2.15k
    SCN_EXPECT(validate_unicode(src));
1505
2.15k
    if constexpr (sizeof(SourceCharT) == 1) {
1506
        if constexpr (sizeof(DestCharT) == 2) {
1507
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1508
            std::u32string tmp;
1509
            transcode_valid_to_string_impl_to32(src, tmp);
1510
            return transcode_to_string_impl_32to16<true>(
1511
                std::u32string_view{tmp}, dest);
1512
        }
1513
2.15k
        else if constexpr (sizeof(DestCharT) == 4) {
1514
2.15k
            return transcode_valid_to_string_impl_to32(src, dest);
1515
2.15k
        }
1516
    }
1517
    else if constexpr (sizeof(SourceCharT) == 2) {
1518
        if constexpr (sizeof(DestCharT) == 1) {
1519
            std::u32string tmp;
1520
            transcode_valid_to_string_impl_to32(src, tmp);
1521
            return transcode_to_string_impl_32to8<true>(
1522
                std::u32string_view{tmp}, dest);
1523
        }
1524
        else if constexpr (sizeof(DestCharT) == 4) {
1525
            return trasncode_valid_to_string_impl_to32(src, dest);
1526
        }
1527
    }
1528
    else if constexpr (sizeof(SourceCharT) == 4) {
1529
        if constexpr (sizeof(DestCharT) == 1) {
1530
            return transcode_to_string_impl_32to8<true>(src, dest);
1531
        }
1532
        else if constexpr (sizeof(DestCharT) == 2) {
1533
            return transcode_to_string_impl_32to16<true>(src, dest);
1534
        }
1535
    }
1536
1537
2.15k
    SCN_EXPECT(false);
1538
0
    SCN_UNREACHABLE;
1539
2.15k
}
void scn::v4::impl::transcode_valid_to_string<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1501
1.28k
{
1502
1.28k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1503
1504
1.28k
    SCN_EXPECT(validate_unicode(src));
1505
    if constexpr (sizeof(SourceCharT) == 1) {
1506
        if constexpr (sizeof(DestCharT) == 2) {
1507
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1508
            std::u32string tmp;
1509
            transcode_valid_to_string_impl_to32(src, tmp);
1510
            return transcode_to_string_impl_32to16<true>(
1511
                std::u32string_view{tmp}, dest);
1512
        }
1513
        else if constexpr (sizeof(DestCharT) == 4) {
1514
            return transcode_valid_to_string_impl_to32(src, dest);
1515
        }
1516
    }
1517
    else if constexpr (sizeof(SourceCharT) == 2) {
1518
        if constexpr (sizeof(DestCharT) == 1) {
1519
            std::u32string tmp;
1520
            transcode_valid_to_string_impl_to32(src, tmp);
1521
            return transcode_to_string_impl_32to8<true>(
1522
                std::u32string_view{tmp}, dest);
1523
        }
1524
        else if constexpr (sizeof(DestCharT) == 4) {
1525
            return trasncode_valid_to_string_impl_to32(src, dest);
1526
        }
1527
    }
1528
1.28k
    else if constexpr (sizeof(SourceCharT) == 4) {
1529
1.28k
        if constexpr (sizeof(DestCharT) == 1) {
1530
1.28k
            return transcode_to_string_impl_32to8<true>(src, dest);
1531
        }
1532
        else if constexpr (sizeof(DestCharT) == 2) {
1533
            return transcode_to_string_impl_32to16<true>(src, dest);
1534
        }
1535
1.28k
    }
1536
1537
1.28k
    SCN_EXPECT(false);
1538
0
    SCN_UNREACHABLE;
1539
1.28k
}
1540
1541
template <typename CharT>
1542
constexpr void for_each_code_point(std::basic_string_view<CharT> input,
1543
                                   function_ref<void(char32_t)> cb)
1544
47.3k
{
1545
    // TODO: Could be optimized by being eager
1546
47.3k
    auto it = input.begin();
1547
114k
    while (it != input.end()) {
1548
66.7k
        auto res = get_next_code_point(
1549
66.7k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1550
66.7k
        cb(res.value);
1551
66.7k
        it = detail::make_string_view_iterator(input, res.iterator);
1552
66.7k
    }
1553
47.3k
}
void scn::v4::impl::for_each_code_point<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::impl::function_ref<void (char32_t), void (char32_t)>)
Line
Count
Source
1544
43.7k
{
1545
    // TODO: Could be optimized by being eager
1546
43.7k
    auto it = input.begin();
1547
98.7k
    while (it != input.end()) {
1548
55.0k
        auto res = get_next_code_point(
1549
55.0k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1550
55.0k
        cb(res.value);
1551
55.0k
        it = detail::make_string_view_iterator(input, res.iterator);
1552
55.0k
    }
1553
43.7k
}
void scn::v4::impl::for_each_code_point<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::impl::function_ref<void (char32_t), void (char32_t)>)
Line
Count
Source
1544
3.67k
{
1545
    // TODO: Could be optimized by being eager
1546
3.67k
    auto it = input.begin();
1547
15.3k
    while (it != input.end()) {
1548
11.6k
        auto res = get_next_code_point(
1549
11.6k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1550
11.6k
        cb(res.value);
1551
11.6k
        it = detail::make_string_view_iterator(input, res.iterator);
1552
11.6k
    }
1553
3.67k
}
1554
1555
template <typename CharT>
1556
constexpr void for_each_code_point_valid(std::basic_string_view<CharT> input,
1557
                                         function_ref<void(char32_t)> cb)
1558
{
1559
    auto it = input.begin();
1560
    while (it != input.end()) {
1561
        auto res = get_next_code_point_valid(
1562
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1563
        cb(res.value);
1564
        it = detail::make_string_view_iterator(input, res.iterator);
1565
    }
1566
}
1567
1568
/////////////////////////////////////////////////////////////////
1569
// contiguous_range_factory
1570
/////////////////////////////////////////////////////////////////
1571
1572
template <typename View>
1573
class take_width_view;
1574
1575
template <typename CharT>
1576
struct string_view_wrapper {
1577
    using char_type = CharT;
1578
    using string_type = std::basic_string<CharT>;
1579
    using string_view_type = std::basic_string_view<CharT>;
1580
1581
    constexpr string_view_wrapper() = default;
1582
1583
    template <typename Range,
1584
              std::enable_if_t<ranges::borrowed_range<Range> &&
1585
                               ranges::contiguous_range<Range> &&
1586
                               ranges::sized_range<Range>>* = nullptr>
1587
4.34M
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1588
4.34M
    {
1589
4.34M
    }
_ZN3scn2v44impl19string_view_wrapperIcEC2INS0_6ranges6detail9subrange_8subrangeIPKcSA_EETnPNSt3__19enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISE_Esr6rangesE11sized_rangeISE_EEvE4typeELPv0EEEOSE_
Line
Count
Source
1587
518k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1588
518k
    {
1589
518k
    }
_ZN3scn2v44impl19string_view_wrapperIcEC2IRNS0_6ranges6detail9subrange_8subrangeIPKcSA_EETnPNSt3__19enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISF_Esr6rangesE11sized_rangeISF_EEvE4typeELPv0EEEOSF_
Line
Count
Source
1587
1.44M
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1588
1.44M
    {
1589
1.44M
    }
_ZN3scn2v44impl19string_view_wrapperIwEC2INS0_6ranges6detail9subrange_8subrangeIPKwSA_EETnPNSt3__19enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISE_Esr6rangesE11sized_rangeISE_EEvE4typeELPv0EEEOSE_
Line
Count
Source
1587
1.47M
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1588
1.47M
    {
1589
1.47M
    }
_ZN3scn2v44impl19string_view_wrapperIcEC2IRNSt3__117basic_string_viewIcNS5_11char_traitsIcEEEETnPNS5_9enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISC_Esr6rangesE11sized_rangeISC_EEvE4typeELPv0EEEOSC_
Line
Count
Source
1587
903k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1588
903k
    {
1589
903k
    }
1590
1591
    template <typename Range,
1592
              std::enable_if_t<ranges::borrowed_range<Range> &&
1593
                               ranges::contiguous_range<Range> &&
1594
                               ranges::sized_range<Range>>* = nullptr>
1595
    void assign(Range&& r)
1596
    {
1597
        sv = string_view_type{ranges::data(r), r.size()};
1598
    }
1599
1600
    constexpr auto view() const
1601
7.75M
    {
1602
7.75M
        return sv;
1603
7.75M
    }
scn::v4::impl::string_view_wrapper<char>::view() const
Line
Count
Source
1601
5.59M
    {
1602
5.59M
        return sv;
1603
5.59M
    }
scn::v4::impl::string_view_wrapper<wchar_t>::view() const
Line
Count
Source
1601
2.15M
    {
1602
2.15M
        return sv;
1603
2.15M
    }
1604
1605
    constexpr bool stores_allocated_string() const
1606
0
    {
1607
0
        return false;
1608
0
    }
Unexecuted instantiation: scn::v4::impl::string_view_wrapper<char>::stores_allocated_string() const
Unexecuted instantiation: scn::v4::impl::string_view_wrapper<wchar_t>::stores_allocated_string() const
1609
1610
    [[noreturn]] string_type get_allocated_string() const
1611
    {
1612
        SCN_EXPECT(false);
1613
        SCN_UNREACHABLE;
1614
    }
1615
1616
    string_view_type sv;
1617
};
1618
1619
template <typename Range>
1620
string_view_wrapper(Range)
1621
    -> string_view_wrapper<detail::char_t<detail::remove_cvref_t<Range>>>;
1622
1623
template <typename CharT>
1624
class contiguous_range_factory {
1625
public:
1626
    using char_type = CharT;
1627
    using string_type = std::basic_string<CharT>;
1628
    using string_view_type = std::basic_string_view<CharT>;
1629
1630
4.27M
    contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<char>::contiguous_range_factory()
Line
Count
Source
1630
2.27M
    contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory()
Line
Count
Source
1630
1.99M
    contiguous_range_factory() = default;
1631
1632
    template <typename Range,
1633
              std::enable_if_t<ranges::forward_range<Range>>* = nullptr>
1634
    contiguous_range_factory(Range&& range)
1635
1.08M
    {
1636
1.08M
        emplace_range(SCN_FWD(range));
1637
1.08M
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSK_
_ZN3scn2v44impl24contiguous_range_factoryIcEC2INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSG_
Line
Count
Source
1635
398k
    {
1636
398k
        emplace_range(SCN_FWD(range));
1637
398k
    }
_ZN3scn2v44impl24contiguous_range_factoryIcEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSH_
Line
Count
Source
1635
2.49k
    {
1636
2.49k
        emplace_range(SCN_FWD(range));
1637
2.49k
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIwEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSK_
_ZN3scn2v44impl24contiguous_range_factoryIwEC2INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSG_
Line
Count
Source
1635
682k
    {
1636
682k
        emplace_range(SCN_FWD(range));
1637
682k
    }
_ZN3scn2v44impl24contiguous_range_factoryIwEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSH_
Line
Count
Source
1635
964
    {
1636
964
        emplace_range(SCN_FWD(range));
1637
964
    }
1638
1639
    contiguous_range_factory(string_view_wrapper<CharT> svw)
1640
        : m_storage(std::nullopt), m_view(svw.view())
1641
    {
1642
    }
1643
1644
    contiguous_range_factory(const contiguous_range_factory&) = delete;
1645
    contiguous_range_factory& operator=(const contiguous_range_factory&) =
1646
        delete;
1647
1648
    contiguous_range_factory(contiguous_range_factory&& other)
1649
        : m_storage(SCN_MOVE(other.m_storage))
1650
    {
1651
        if (m_storage) {
1652
            m_view = *m_storage;
1653
        }
1654
        else {
1655
            m_view = other.m_view;
1656
        }
1657
    }
1658
    contiguous_range_factory& operator=(contiguous_range_factory&& other)
1659
    {
1660
        m_storage = SCN_MOVE(other.m_storage);
1661
        if (m_storage) {
1662
            m_view = *m_storage;
1663
        }
1664
        else {
1665
            m_view = other.m_view;
1666
        }
1667
        return *this;
1668
    }
1669
1670
5.35M
    ~contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<char>::~contiguous_range_factory()
Line
Count
Source
1670
2.67M
    ~contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<wchar_t>::~contiguous_range_factory()
Line
Count
Source
1670
2.68M
    ~contiguous_range_factory() = default;
1671
1672
    template <typename Range,
1673
              std::enable_if_t<ranges::forward_range<Range>>* = nullptr>
1674
    void assign(Range&& range)
1675
3.42M
    {
1676
3.42M
        emplace_range(SCN_FWD(range));
1677
3.42M
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSK_
_ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSG_
Line
Count
Source
1675
500k
    {
1676
500k
        emplace_range(SCN_FWD(range));
1677
500k
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSH_
_ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeIPKcSA_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSE_
Line
Count
Source
1675
492k
    {
1676
492k
        emplace_range(SCN_FWD(range));
1677
492k
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSK_
_ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSG_
Line
Count
Source
1675
371k
    {
1676
371k
        emplace_range(SCN_FWD(range));
1677
371k
    }
_ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSH_
Line
Count
Source
1675
20
    {
1676
20
        emplace_range(SCN_FWD(range));
1677
20
    }
_ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeIPKwSA_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSE_
Line
Count
Source
1675
439k
    {
1676
439k
        emplace_range(SCN_FWD(range));
1677
439k
    }
_ZN3scn2v44impl24contiguous_range_factoryIcE6assignINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEETnPNS5_9enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSD_
Line
Count
Source
1675
895k
    {
1676
895k
        emplace_range(SCN_FWD(range));
1677
895k
    }
_ZN3scn2v44impl24contiguous_range_factoryIwE6assignINSt3__112basic_stringIwNS5_11char_traitsIwEENS5_9allocatorIwEEEETnPNS5_9enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSD_
Line
Count
Source
1675
723k
    {
1676
723k
        emplace_range(SCN_FWD(range));
1677
723k
    }
1678
1679
    string_view_type view() const
1680
9.34M
    {
1681
9.34M
        return m_view;
1682
9.34M
    }
scn::v4::impl::contiguous_range_factory<char>::view() const
Line
Count
Source
1680
4.75M
    {
1681
4.75M
        return m_view;
1682
4.75M
    }
scn::v4::impl::contiguous_range_factory<wchar_t>::view() const
Line
Count
Source
1680
4.58M
    {
1681
4.58M
        return m_view;
1682
4.58M
    }
1683
1684
    constexpr bool stores_allocated_string() const
1685
4.53M
    {
1686
4.53M
        return m_storage.has_value();
1687
4.53M
    }
scn::v4::impl::contiguous_range_factory<char>::stores_allocated_string() const
Line
Count
Source
1685
2.21M
    {
1686
2.21M
        return m_storage.has_value();
1687
2.21M
    }
scn::v4::impl::contiguous_range_factory<wchar_t>::stores_allocated_string() const
Line
Count
Source
1685
2.31M
    {
1686
2.31M
        return m_storage.has_value();
1687
2.31M
    }
1688
1689
    string_type& get_allocated_string() &
1690
2.05M
    {
1691
2.05M
        SCN_EXPECT(stores_allocated_string());
1692
2.05M
        return *m_storage;
1693
2.05M
    }
scn::v4::impl::contiguous_range_factory<char>::get_allocated_string() &
Line
Count
Source
1690
1.15M
    {
1691
1.15M
        SCN_EXPECT(stores_allocated_string());
1692
1.15M
        return *m_storage;
1693
1.15M
    }
scn::v4::impl::contiguous_range_factory<wchar_t>::get_allocated_string() &
Line
Count
Source
1690
900k
    {
1691
900k
        SCN_EXPECT(stores_allocated_string());
1692
900k
        return *m_storage;
1693
900k
    }
1694
    const string_type& get_allocated_string() const&
1695
    {
1696
        SCN_EXPECT(stores_allocated_string());
1697
        return *m_storage;
1698
    }
1699
    string_type&& get_allocated_string() &&
1700
    {
1701
        SCN_EXPECT(stores_allocated_string());
1702
        return *m_storage;
1703
    }
1704
1705
    string_type& make_into_allocated_string()
1706
0
    {
1707
0
        if (stores_allocated_string()) {
1708
0
            return get_allocated_string();
1709
0
        }
1710
1711
0
        auto& str = m_storage.emplace(m_view.data(), m_view.size());
1712
0
        m_view = string_view_type{str.data(), str.size()};
1713
0
        return str;
1714
0
    }
Unexecuted instantiation: scn::v4::impl::contiguous_range_factory<char>::make_into_allocated_string()
Unexecuted instantiation: scn::v4::impl::contiguous_range_factory<wchar_t>::make_into_allocated_string()
1715
1716
private:
1717
    template <typename Range>
1718
    void emplace_range(Range&& range)
1719
4.50M
    {
1720
4.50M
        using value_t = ranges::range_value_t<Range>;
1721
1722
        if constexpr (ranges::borrowed_range<Range> &&
1723
                      ranges::contiguous_range<Range> &&
1724
932k
                      ranges::sized_range<Range>) {
1725
932k
            m_storage.reset();
1726
932k
            m_view = string_view_type{ranges::data(range), range.size()};
1727
        }
1728
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1729
1.61M
                                          std::basic_string<CharT>>) {
1730
1.61M
            m_storage.emplace(SCN_FWD(range));
1731
1.61M
            m_view = string_view_type{*m_storage};
1732
        }
1733
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1734
                                          typename detail::basic_scan_buffer<
1735
                                              value_t>::forward_iterator> &&
1736
1.95M
                           ranges::common_range<Range>) {
1737
1.95M
            auto beg_seg = range.begin().contiguous_segment();
1738
1.95M
            auto end_seg = range.end().contiguous_segment();
1739
1.95M
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1740
1.95M
                             detail::to_address(end_seg.end()))) {
1741
265k
                auto& str = m_storage.emplace();
1742
265k
                str.reserve(range.end().position() - range.begin().position());
1743
265k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1744
265k
                m_view = string_view_type{str};
1745
265k
                return;
1746
265k
            }
1747
1748
1.68M
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1749
1.68M
                                                            end_seg.data());
1750
1.68M
            m_storage.reset();
1751
        }
1752
3.47k
        else {
1753
3.47k
            auto& str = m_storage.emplace();
1754
            if constexpr (ranges::sized_range<Range>) {
1755
                str.reserve(range.size());
1756
            }
1757
3.47k
            if constexpr (ranges::common_range<Range>) {
1758
3.47k
                std::copy(ranges::begin(range), ranges::end(range),
1759
3.47k
                          std::back_inserter(str));
1760
            }
1761
            else {
1762
                for (auto it = ranges::begin(range); it != ranges::end(range);
1763
                     ++it) {
1764
                    str.push_back(*it);
1765
                }
1766
            }
1767
3.47k
            m_view = string_view_type{str};
1768
3.47k
        }
1769
4.50M
    }
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1719
898k
    {
1720
898k
        using value_t = ranges::range_value_t<Range>;
1721
1722
        if constexpr (ranges::borrowed_range<Range> &&
1723
                      ranges::contiguous_range<Range> &&
1724
                      ranges::sized_range<Range>) {
1725
            m_storage.reset();
1726
            m_view = string_view_type{ranges::data(range), range.size()};
1727
        }
1728
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1729
                                          std::basic_string<CharT>>) {
1730
            m_storage.emplace(SCN_FWD(range));
1731
            m_view = string_view_type{*m_storage};
1732
        }
1733
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1734
                                          typename detail::basic_scan_buffer<
1735
                                              value_t>::forward_iterator> &&
1736
898k
                           ranges::common_range<Range>) {
1737
898k
            auto beg_seg = range.begin().contiguous_segment();
1738
898k
            auto end_seg = range.end().contiguous_segment();
1739
898k
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1740
898k
                             detail::to_address(end_seg.end()))) {
1741
241k
                auto& str = m_storage.emplace();
1742
241k
                str.reserve(range.end().position() - range.begin().position());
1743
241k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1744
241k
                m_view = string_view_type{str};
1745
241k
                return;
1746
241k
            }
1747
1748
656k
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1749
656k
                                                            end_seg.data());
1750
656k
            m_storage.reset();
1751
        }
1752
        else {
1753
            auto& str = m_storage.emplace();
1754
            if constexpr (ranges::sized_range<Range>) {
1755
                str.reserve(range.size());
1756
            }
1757
            if constexpr (ranges::common_range<Range>) {
1758
                std::copy(ranges::begin(range), ranges::end(range),
1759
                          std::back_inserter(str));
1760
            }
1761
            else {
1762
                for (auto it = ranges::begin(range); it != ranges::end(range);
1763
                     ++it) {
1764
                    str.push_back(*it);
1765
                }
1766
            }
1767
            m_view = string_view_type{str};
1768
        }
1769
898k
    }
void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1719
2.49k
    {
1720
2.49k
        using value_t = ranges::range_value_t<Range>;
1721
1722
        if constexpr (ranges::borrowed_range<Range> &&
1723
                      ranges::contiguous_range<Range> &&
1724
                      ranges::sized_range<Range>) {
1725
            m_storage.reset();
1726
            m_view = string_view_type{ranges::data(range), range.size()};
1727
        }
1728
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1729
                                          std::basic_string<CharT>>) {
1730
            m_storage.emplace(SCN_FWD(range));
1731
            m_view = string_view_type{*m_storage};
1732
        }
1733
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1734
                                          typename detail::basic_scan_buffer<
1735
                                              value_t>::forward_iterator> &&
1736
                           ranges::common_range<Range>) {
1737
            auto beg_seg = range.begin().contiguous_segment();
1738
            auto end_seg = range.end().contiguous_segment();
1739
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1740
                             detail::to_address(end_seg.end()))) {
1741
                auto& str = m_storage.emplace();
1742
                str.reserve(range.end().position() - range.begin().position());
1743
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1744
                m_view = string_view_type{str};
1745
                return;
1746
            }
1747
1748
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1749
                                                            end_seg.data());
1750
            m_storage.reset();
1751
        }
1752
2.49k
        else {
1753
2.49k
            auto& str = m_storage.emplace();
1754
            if constexpr (ranges::sized_range<Range>) {
1755
                str.reserve(range.size());
1756
            }
1757
2.49k
            if constexpr (ranges::common_range<Range>) {
1758
2.49k
                std::copy(ranges::begin(range), ranges::end(range),
1759
2.49k
                          std::back_inserter(str));
1760
            }
1761
            else {
1762
                for (auto it = ranges::begin(range); it != ranges::end(range);
1763
                     ++it) {
1764
                    str.push_back(*it);
1765
                }
1766
            }
1767
2.49k
            m_view = string_view_type{str};
1768
2.49k
        }
1769
2.49k
    }
void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1719
492k
    {
1720
492k
        using value_t = ranges::range_value_t<Range>;
1721
1722
        if constexpr (ranges::borrowed_range<Range> &&
1723
                      ranges::contiguous_range<Range> &&
1724
492k
                      ranges::sized_range<Range>) {
1725
492k
            m_storage.reset();
1726
492k
            m_view = string_view_type{ranges::data(range), range.size()};
1727
        }
1728
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1729
                                          std::basic_string<CharT>>) {
1730
            m_storage.emplace(SCN_FWD(range));
1731
            m_view = string_view_type{*m_storage};
1732
        }
1733
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1734
                                          typename detail::basic_scan_buffer<
1735
                                              value_t>::forward_iterator> &&
1736
                           ranges::common_range<Range>) {
1737
            auto beg_seg = range.begin().contiguous_segment();
1738
            auto end_seg = range.end().contiguous_segment();
1739
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1740
                             detail::to_address(end_seg.end()))) {
1741
                auto& str = m_storage.emplace();
1742
                str.reserve(range.end().position() - range.begin().position());
1743
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1744
                m_view = string_view_type{str};
1745
                return;
1746
            }
1747
1748
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1749
                                                            end_seg.data());
1750
            m_storage.reset();
1751
        }
1752
        else {
1753
            auto& str = m_storage.emplace();
1754
            if constexpr (ranges::sized_range<Range>) {
1755
                str.reserve(range.size());
1756
            }
1757
            if constexpr (ranges::common_range<Range>) {
1758
                std::copy(ranges::begin(range), ranges::end(range),
1759
                          std::back_inserter(str));
1760
            }
1761
            else {
1762
                for (auto it = ranges::begin(range); it != ranges::end(range);
1763
                     ++it) {
1764
                    str.push_back(*it);
1765
                }
1766
            }
1767
            m_view = string_view_type{str};
1768
        }
1769
492k
    }
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1719
1.05M
    {
1720
1.05M
        using value_t = ranges::range_value_t<Range>;
1721
1722
        if constexpr (ranges::borrowed_range<Range> &&
1723
                      ranges::contiguous_range<Range> &&
1724
                      ranges::sized_range<Range>) {
1725
            m_storage.reset();
1726
            m_view = string_view_type{ranges::data(range), range.size()};
1727
        }
1728
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1729
                                          std::basic_string<CharT>>) {
1730
            m_storage.emplace(SCN_FWD(range));
1731
            m_view = string_view_type{*m_storage};
1732
        }
1733
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1734
                                          typename detail::basic_scan_buffer<
1735
                                              value_t>::forward_iterator> &&
1736
1.05M
                           ranges::common_range<Range>) {
1737
1.05M
            auto beg_seg = range.begin().contiguous_segment();
1738
1.05M
            auto end_seg = range.end().contiguous_segment();
1739
1.05M
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1740
1.05M
                             detail::to_address(end_seg.end()))) {
1741
23.7k
                auto& str = m_storage.emplace();
1742
23.7k
                str.reserve(range.end().position() - range.begin().position());
1743
23.7k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1744
23.7k
                m_view = string_view_type{str};
1745
23.7k
                return;
1746
23.7k
            }
1747
1748
1.03M
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1749
1.03M
                                                            end_seg.data());
1750
1.03M
            m_storage.reset();
1751
        }
1752
        else {
1753
            auto& str = m_storage.emplace();
1754
            if constexpr (ranges::sized_range<Range>) {
1755
                str.reserve(range.size());
1756
            }
1757
            if constexpr (ranges::common_range<Range>) {
1758
                std::copy(ranges::begin(range), ranges::end(range),
1759
                          std::back_inserter(str));
1760
            }
1761
            else {
1762
                for (auto it = ranges::begin(range); it != ranges::end(range);
1763
                     ++it) {
1764
                    str.push_back(*it);
1765
                }
1766
            }
1767
            m_view = string_view_type{str};
1768
        }
1769
1.05M
    }
void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1719
984
    {
1720
984
        using value_t = ranges::range_value_t<Range>;
1721
1722
        if constexpr (ranges::borrowed_range<Range> &&
1723
                      ranges::contiguous_range<Range> &&
1724
                      ranges::sized_range<Range>) {
1725
            m_storage.reset();
1726
            m_view = string_view_type{ranges::data(range), range.size()};
1727
        }
1728
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1729
                                          std::basic_string<CharT>>) {
1730
            m_storage.emplace(SCN_FWD(range));
1731
            m_view = string_view_type{*m_storage};
1732
        }
1733
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1734
                                          typename detail::basic_scan_buffer<
1735
                                              value_t>::forward_iterator> &&
1736
                           ranges::common_range<Range>) {
1737
            auto beg_seg = range.begin().contiguous_segment();
1738
            auto end_seg = range.end().contiguous_segment();
1739
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1740
                             detail::to_address(end_seg.end()))) {
1741
                auto& str = m_storage.emplace();
1742
                str.reserve(range.end().position() - range.begin().position());
1743
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1744
                m_view = string_view_type{str};
1745
                return;
1746
            }
1747
1748
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1749
                                                            end_seg.data());
1750
            m_storage.reset();
1751
        }
1752
984
        else {
1753
984
            auto& str = m_storage.emplace();
1754
            if constexpr (ranges::sized_range<Range>) {
1755
                str.reserve(range.size());
1756
            }
1757
984
            if constexpr (ranges::common_range<Range>) {
1758
984
                std::copy(ranges::begin(range), ranges::end(range),
1759
984
                          std::back_inserter(str));
1760
            }
1761
            else {
1762
                for (auto it = ranges::begin(range); it != ranges::end(range);
1763
                     ++it) {
1764
                    str.push_back(*it);
1765
                }
1766
            }
1767
984
            m_view = string_view_type{str};
1768
984
        }
1769
984
    }
void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1719
439k
    {
1720
439k
        using value_t = ranges::range_value_t<Range>;
1721
1722
        if constexpr (ranges::borrowed_range<Range> &&
1723
                      ranges::contiguous_range<Range> &&
1724
439k
                      ranges::sized_range<Range>) {
1725
439k
            m_storage.reset();
1726
439k
            m_view = string_view_type{ranges::data(range), range.size()};
1727
        }
1728
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1729
                                          std::basic_string<CharT>>) {
1730
            m_storage.emplace(SCN_FWD(range));
1731
            m_view = string_view_type{*m_storage};
1732
        }
1733
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1734
                                          typename detail::basic_scan_buffer<
1735
                                              value_t>::forward_iterator> &&
1736
                           ranges::common_range<Range>) {
1737
            auto beg_seg = range.begin().contiguous_segment();
1738
            auto end_seg = range.end().contiguous_segment();
1739
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1740
                             detail::to_address(end_seg.end()))) {
1741
                auto& str = m_storage.emplace();
1742
                str.reserve(range.end().position() - range.begin().position());
1743
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1744
                m_view = string_view_type{str};
1745
                return;
1746
            }
1747
1748
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1749
                                                            end_seg.data());
1750
            m_storage.reset();
1751
        }
1752
        else {
1753
            auto& str = m_storage.emplace();
1754
            if constexpr (ranges::sized_range<Range>) {
1755
                str.reserve(range.size());
1756
            }
1757
            if constexpr (ranges::common_range<Range>) {
1758
                std::copy(ranges::begin(range), ranges::end(range),
1759
                          std::back_inserter(str));
1760
            }
1761
            else {
1762
                for (auto it = ranges::begin(range); it != ranges::end(range);
1763
                     ++it) {
1764
                    str.push_back(*it);
1765
                }
1766
            }
1767
            m_view = string_view_type{str};
1768
        }
1769
439k
    }
void scn::v4::impl::contiguous_range_factory<char>::emplace_range<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&)
Line
Count
Source
1719
895k
    {
1720
895k
        using value_t = ranges::range_value_t<Range>;
1721
1722
        if constexpr (ranges::borrowed_range<Range> &&
1723
                      ranges::contiguous_range<Range> &&
1724
                      ranges::sized_range<Range>) {
1725
            m_storage.reset();
1726
            m_view = string_view_type{ranges::data(range), range.size()};
1727
        }
1728
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1729
895k
                                          std::basic_string<CharT>>) {
1730
895k
            m_storage.emplace(SCN_FWD(range));
1731
895k
            m_view = string_view_type{*m_storage};
1732
        }
1733
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1734
                                          typename detail::basic_scan_buffer<
1735
                                              value_t>::forward_iterator> &&
1736
                           ranges::common_range<Range>) {
1737
            auto beg_seg = range.begin().contiguous_segment();
1738
            auto end_seg = range.end().contiguous_segment();
1739
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1740
                             detail::to_address(end_seg.end()))) {
1741
                auto& str = m_storage.emplace();
1742
                str.reserve(range.end().position() - range.begin().position());
1743
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1744
                m_view = string_view_type{str};
1745
                return;
1746
            }
1747
1748
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1749
                                                            end_seg.data());
1750
            m_storage.reset();
1751
        }
1752
        else {
1753
            auto& str = m_storage.emplace();
1754
            if constexpr (ranges::sized_range<Range>) {
1755
                str.reserve(range.size());
1756
            }
1757
            if constexpr (ranges::common_range<Range>) {
1758
                std::copy(ranges::begin(range), ranges::end(range),
1759
                          std::back_inserter(str));
1760
            }
1761
            else {
1762
                for (auto it = ranges::begin(range); it != ranges::end(range);
1763
                     ++it) {
1764
                    str.push_back(*it);
1765
                }
1766
            }
1767
            m_view = string_view_type{str};
1768
        }
1769
895k
    }
void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&&)
Line
Count
Source
1719
723k
    {
1720
723k
        using value_t = ranges::range_value_t<Range>;
1721
1722
        if constexpr (ranges::borrowed_range<Range> &&
1723
                      ranges::contiguous_range<Range> &&
1724
                      ranges::sized_range<Range>) {
1725
            m_storage.reset();
1726
            m_view = string_view_type{ranges::data(range), range.size()};
1727
        }
1728
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1729
723k
                                          std::basic_string<CharT>>) {
1730
723k
            m_storage.emplace(SCN_FWD(range));
1731
723k
            m_view = string_view_type{*m_storage};
1732
        }
1733
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1734
                                          typename detail::basic_scan_buffer<
1735
                                              value_t>::forward_iterator> &&
1736
                           ranges::common_range<Range>) {
1737
            auto beg_seg = range.begin().contiguous_segment();
1738
            auto end_seg = range.end().contiguous_segment();
1739
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1740
                             detail::to_address(end_seg.end()))) {
1741
                auto& str = m_storage.emplace();
1742
                str.reserve(range.end().position() - range.begin().position());
1743
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1744
                m_view = string_view_type{str};
1745
                return;
1746
            }
1747
1748
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1749
                                                            end_seg.data());
1750
            m_storage.reset();
1751
        }
1752
        else {
1753
            auto& str = m_storage.emplace();
1754
            if constexpr (ranges::sized_range<Range>) {
1755
                str.reserve(range.size());
1756
            }
1757
            if constexpr (ranges::common_range<Range>) {
1758
                std::copy(ranges::begin(range), ranges::end(range),
1759
                          std::back_inserter(str));
1760
            }
1761
            else {
1762
                for (auto it = ranges::begin(range); it != ranges::end(range);
1763
                     ++it) {
1764
                    str.push_back(*it);
1765
                }
1766
            }
1767
            m_view = string_view_type{str};
1768
        }
1769
723k
    }
1770
1771
    std::optional<string_type> m_storage{std::nullopt};
1772
    string_view_type m_view{};
1773
};
1774
1775
template <typename Range>
1776
contiguous_range_factory(Range)
1777
    -> contiguous_range_factory<detail::char_t<detail::remove_cvref_t<Range>>>;
1778
1779
template <typename Range>
1780
auto make_contiguous_buffer(Range&& range)
1781
5.43M
{
1782
    if constexpr (ranges::borrowed_range<Range> &&
1783
                  ranges::contiguous_range<Range> &&
1784
4.34M
                  ranges::sized_range<Range>) {
1785
4.34M
        return string_view_wrapper{SCN_FWD(range)};
1786
    }
1787
1.08M
    else {
1788
1.08M
        return contiguous_range_factory{SCN_FWD(range)};
1789
1.08M
    }
1790
5.43M
}
Unexecuted instantiation: auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1781
398k
{
1782
    if constexpr (ranges::borrowed_range<Range> &&
1783
                  ranges::contiguous_range<Range> &&
1784
                  ranges::sized_range<Range>) {
1785
        return string_view_wrapper{SCN_FWD(range)};
1786
    }
1787
398k
    else {
1788
398k
        return contiguous_range_factory{SCN_FWD(range)};
1789
398k
    }
1790
398k
}
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1781
2.49k
{
1782
    if constexpr (ranges::borrowed_range<Range> &&
1783
                  ranges::contiguous_range<Range> &&
1784
                  ranges::sized_range<Range>) {
1785
        return string_view_wrapper{SCN_FWD(range)};
1786
    }
1787
2.49k
    else {
1788
2.49k
        return contiguous_range_factory{SCN_FWD(range)};
1789
2.49k
    }
1790
2.49k
}
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1781
518k
{
1782
    if constexpr (ranges::borrowed_range<Range> &&
1783
                  ranges::contiguous_range<Range> &&
1784
518k
                  ranges::sized_range<Range>) {
1785
518k
        return string_view_wrapper{SCN_FWD(range)};
1786
    }
1787
    else {
1788
        return contiguous_range_factory{SCN_FWD(range)};
1789
    }
1790
518k
}
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
1781
1.44M
{
1782
    if constexpr (ranges::borrowed_range<Range> &&
1783
                  ranges::contiguous_range<Range> &&
1784
1.44M
                  ranges::sized_range<Range>) {
1785
1.44M
        return string_view_wrapper{SCN_FWD(range)};
1786
    }
1787
    else {
1788
        return contiguous_range_factory{SCN_FWD(range)};
1789
    }
1790
1.44M
}
Unexecuted instantiation: auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1781
682k
{
1782
    if constexpr (ranges::borrowed_range<Range> &&
1783
                  ranges::contiguous_range<Range> &&
1784
                  ranges::sized_range<Range>) {
1785
        return string_view_wrapper{SCN_FWD(range)};
1786
    }
1787
682k
    else {
1788
682k
        return contiguous_range_factory{SCN_FWD(range)};
1789
682k
    }
1790
682k
}
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1781
964
{
1782
    if constexpr (ranges::borrowed_range<Range> &&
1783
                  ranges::contiguous_range<Range> &&
1784
                  ranges::sized_range<Range>) {
1785
        return string_view_wrapper{SCN_FWD(range)};
1786
    }
1787
964
    else {
1788
964
        return contiguous_range_factory{SCN_FWD(range)};
1789
964
    }
1790
964
}
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1781
1.47M
{
1782
    if constexpr (ranges::borrowed_range<Range> &&
1783
                  ranges::contiguous_range<Range> &&
1784
1.47M
                  ranges::sized_range<Range>) {
1785
1.47M
        return string_view_wrapper{SCN_FWD(range)};
1786
    }
1787
    else {
1788
        return contiguous_range_factory{SCN_FWD(range)};
1789
    }
1790
1.47M
}
auto scn::v4::impl::make_contiguous_buffer<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
1781
903k
{
1782
    if constexpr (ranges::borrowed_range<Range> &&
1783
                  ranges::contiguous_range<Range> &&
1784
903k
                  ranges::sized_range<Range>) {
1785
903k
        return string_view_wrapper{SCN_FWD(range)};
1786
    }
1787
    else {
1788
        return contiguous_range_factory{SCN_FWD(range)};
1789
    }
1790
903k
}
1791
}  // namespace impl
1792
1793
/////////////////////////////////////////////////////////////////
1794
// locale stuff
1795
/////////////////////////////////////////////////////////////////
1796
1797
#if !SCN_DISABLE_LOCALE
1798
1799
namespace detail {
1800
extern template locale_ref::locale_ref(const std::locale&);
1801
extern template auto locale_ref::get() const -> std::locale;
1802
}  // namespace detail
1803
1804
namespace impl {
1805
template <typename Facet>
1806
const Facet& get_facet(detail::locale_ref loc)
1807
{
1808
    auto stdloc = loc.get<std::locale>();
1809
    SCN_EXPECT(std::has_facet<Facet>(stdloc));
1810
    return std::use_facet<Facet>(stdloc);
1811
}
1812
1813
template <typename Facet>
1814
const Facet& get_or_add_facet(std::locale& stdloc)
1815
564k
{
1816
564k
    if (std::has_facet<Facet>(stdloc)) {
1817
564k
        return std::use_facet<Facet>(stdloc);
1818
564k
    }
1819
0
    stdloc = std::locale(stdloc, new Facet{});
1820
0
    return std::use_facet<Facet>(stdloc);
1821
564k
}
std::__1::numpunct<char> const& scn::v4::impl::get_or_add_facet<std::__1::numpunct<char> >(std::__1::locale&)
Line
Count
Source
1815
343k
{
1816
343k
    if (std::has_facet<Facet>(stdloc)) {
1817
343k
        return std::use_facet<Facet>(stdloc);
1818
343k
    }
1819
0
    stdloc = std::locale(stdloc, new Facet{});
1820
0
    return std::use_facet<Facet>(stdloc);
1821
343k
}
std::__1::numpunct<wchar_t> const& scn::v4::impl::get_or_add_facet<std::__1::numpunct<wchar_t> >(std::__1::locale&)
Line
Count
Source
1815
221k
{
1816
221k
    if (std::has_facet<Facet>(stdloc)) {
1817
221k
        return std::use_facet<Facet>(stdloc);
1818
221k
    }
1819
0
    stdloc = std::locale(stdloc, new Facet{});
1820
0
    return std::use_facet<Facet>(stdloc);
1821
221k
}
1822
1823
class clocale_restorer {
1824
public:
1825
1.69M
    clocale_restorer(int cat) : m_category(cat)
1826
1.69M
    {
1827
1.69M
        const auto loc = std::setlocale(cat, nullptr);
1828
1.69M
        std::strcpy(m_locbuf, loc);
1829
1.69M
    }
1830
    ~clocale_restorer()
1831
1.69M
    {
1832
        // Restore locale to what it was before
1833
1.69M
        std::setlocale(m_category, m_locbuf);
1834
1.69M
    }
1835
1836
    clocale_restorer(const clocale_restorer&) = delete;
1837
    clocale_restorer(clocale_restorer&&) = delete;
1838
    clocale_restorer& operator=(const clocale_restorer&) = delete;
1839
    clocale_restorer& operator=(clocale_restorer&&) = delete;
1840
1841
private:
1842
    // For whatever reason, this cannot be stored in the heap if
1843
    // setlocale hasn't been called before, or msan errors with
1844
    // 'use-of-unitialized-value' when resetting the locale
1845
    // back. POSIX specifies that the content of loc may not be
1846
    // static, so we need to save it ourselves
1847
    char m_locbuf[64] = {0};
1848
1849
    int m_category;
1850
};
1851
1852
class set_clocale_classic_guard {
1853
public:
1854
1.69M
    set_clocale_classic_guard(int cat) : m_restorer(cat)
1855
1.69M
    {
1856
1.69M
        std::setlocale(cat, "C");
1857
1.69M
    }
1858
1859
private:
1860
    clocale_restorer m_restorer;
1861
};
1862
}  // namespace impl
1863
1864
namespace impl {
1865
struct classic_with_thsep_tag {};
1866
1867
template <typename CharT>
1868
struct localized_number_formatting_options {
1869
2.13M
    localized_number_formatting_options() = default;
scn::v4::impl::localized_number_formatting_options<char>::localized_number_formatting_options()
Line
Count
Source
1869
1.13M
    localized_number_formatting_options() = default;
scn::v4::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options()
Line
Count
Source
1869
998k
    localized_number_formatting_options() = default;
1870
1871
    localized_number_formatting_options(classic_with_thsep_tag)
1872
0
    {
1873
0
        grouping = "\3";
1874
0
        thousands_sep = CharT{','};
1875
0
    }
Unexecuted instantiation: scn::v4::impl::localized_number_formatting_options<char>::localized_number_formatting_options(scn::v4::impl::classic_with_thsep_tag)
Unexecuted instantiation: scn::v4::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options(scn::v4::impl::classic_with_thsep_tag)
1876
1877
    localized_number_formatting_options(detail::locale_ref loc)
1878
564k
    {
1879
564k
        auto stdloc = loc.get<std::locale>();
1880
564k
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1881
564k
        grouping = numpunct.grouping();
1882
564k
        thousands_sep =
1883
564k
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1884
564k
        decimal_point = numpunct.decimal_point();
1885
564k
    }
scn::v4::impl::localized_number_formatting_options<char>::localized_number_formatting_options(scn::v4::detail::locale_ref)
Line
Count
Source
1878
343k
    {
1879
343k
        auto stdloc = loc.get<std::locale>();
1880
343k
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1881
343k
        grouping = numpunct.grouping();
1882
343k
        thousands_sep =
1883
343k
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1884
343k
        decimal_point = numpunct.decimal_point();
1885
343k
    }
scn::v4::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options(scn::v4::detail::locale_ref)
Line
Count
Source
1878
221k
    {
1879
221k
        auto stdloc = loc.get<std::locale>();
1880
221k
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1881
221k
        grouping = numpunct.grouping();
1882
221k
        thousands_sep =
1883
221k
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1884
221k
        decimal_point = numpunct.decimal_point();
1885
221k
    }
1886
1887
    std::string grouping{};
1888
    CharT thousands_sep{0};
1889
    CharT decimal_point{CharT{'.'}};
1890
};
1891
}  // namespace impl
1892
1893
#else
1894
1895
namespace impl {
1896
struct set_clocale_classic_guard {
1897
    set_clocale_classic_guard(int) {}
1898
};
1899
1900
struct classic_with_thsep_tag {};
1901
1902
template <typename CharT>
1903
struct localized_number_formatting_options {
1904
    localized_number_formatting_options() = default;
1905
1906
    localized_number_formatting_options(classic_with_thsep_tag)
1907
    {
1908
        grouping = "\3";
1909
        thousands_sep = CharT{','};
1910
    }
1911
1912
    std::string grouping{};
1913
    CharT thousands_sep{0};
1914
    CharT decimal_point{CharT{'.'}};
1915
};
1916
}  // namespace impl
1917
1918
#endif  // !SCN_DISABLE_LOCALE
1919
1920
/////////////////////////////////////////////////////////////////
1921
// Range reading algorithms
1922
/////////////////////////////////////////////////////////////////
1923
1924
namespace impl {
1925
1926
std::string_view::iterator find_classic_space_narrow_fast(
1927
    std::string_view source);
1928
1929
std::string_view::iterator find_classic_nonspace_narrow_fast(
1930
    std::string_view source);
1931
1932
std::string_view::iterator find_nondecimal_digit_narrow_fast(
1933
    std::string_view source);
1934
1935
template <typename Range>
1936
auto read_all(Range range) -> ranges::const_iterator_t<Range>
1937
677k
{
1938
677k
    return ranges::next(range.begin(), range.end());
1939
677k
}
_ZN3scn2v44impl8read_allINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1937
353k
{
1938
353k
    return ranges::next(range.begin(), range.end());
1939
353k
}
Unexecuted instantiation: _ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
1937
174
{
1938
174
    return ranges::next(range.begin(), range.end());
1939
174
}
_ZN3scn2v44impl8read_allINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1937
323k
{
1938
323k
    return ranges::next(range.begin(), range.end());
1939
323k
}
Unexecuted instantiation: _ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
1937
78
{
1938
78
    return ranges::next(range.begin(), range.end());
1939
78
}
1940
1941
template <typename Range>
1942
auto read_code_unit(Range range)
1943
    -> eof_expected<ranges::const_iterator_t<Range>>
1944
5.76M
{
1945
5.76M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1946
18.5k
        return unexpected(e);
1947
18.5k
    }
1948
1949
5.74M
    return ranges::next(range.begin());
1950
5.76M
}
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
1944
2.13M
{
1945
2.13M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1946
10.7k
        return unexpected(e);
1947
10.7k
    }
1948
1949
2.12M
    return ranges::next(range.begin());
1950
2.13M
}
_ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
1944
2.74k
{
1945
2.74k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1946
0
        return unexpected(e);
1947
0
    }
1948
1949
2.74k
    return ranges::next(range.begin());
1950
2.74k
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
1944
40
{
1945
40
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1946
0
        return unexpected(e);
1947
0
    }
1948
1949
40
    return ranges::next(range.begin());
1950
40
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
1944
1.36M
{
1945
1.36M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1946
3.32k
        return unexpected(e);
1947
3.32k
    }
1948
1949
1.35M
    return ranges::next(range.begin());
1950
1.36M
}
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
1944
1.37M
{
1945
1.37M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1946
2.20k
        return unexpected(e);
1947
2.20k
    }
1948
1949
1.37M
    return ranges::next(range.begin());
1950
1.37M
}
_ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
1944
1.71k
{
1945
1.71k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1946
0
        return unexpected(e);
1947
0
    }
1948
1949
1.71k
    return ranges::next(range.begin());
1950
1.71k
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
1944
110
{
1945
110
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1946
14
        return unexpected(e);
1947
14
    }
1948
1949
96
    return ranges::next(range.begin());
1950
110
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
1944
866k
{
1945
866k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1946
572
        return unexpected(e);
1947
572
    }
1948
1949
866k
    return ranges::next(range.begin());
1950
866k
}
_ZN3scn2v44impl14read_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_
Line
Count
Source
1944
11.9k
{
1945
11.9k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1946
1.69k
        return unexpected(e);
1947
1.69k
    }
1948
1949
10.2k
    return ranges::next(range.begin());
1950
11.9k
}
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_
1951
1952
template <typename Range>
1953
auto read_exactly_n_code_units(Range range, std::ptrdiff_t count)
1954
    -> eof_expected<ranges::const_iterator_t<Range>>
1955
4.78M
{
1956
4.78M
    SCN_EXPECT(count >= 0);
1957
1958
4.78M
    if constexpr (ranges::sized_range<Range>) {
1959
1.46M
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1960
1.46M
        if (sz < count) {
1961
73.7k
            return unexpected(eof_error::eof);
1962
73.7k
        }
1963
1964
1.39M
        return ranges::next(range.begin(), count);
1965
    }
1966
3.31M
    else {
1967
3.31M
        auto it = range.begin();
1968
3.31M
        if (guaranteed_minimum_size(range) >= count) {
1969
2.11M
            return ranges::next(it, count);
1970
2.11M
        }
1971
1972
4.60M
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1973
3.51M
            if (it == range.end()) {
1974
112k
                return unexpected(eof_error::eof);
1975
112k
            }
1976
3.51M
        }
1977
1978
1.09M
        return it;
1979
1.20M
    }
1980
4.78M
}
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_l
Line
Count
Source
1955
1.88M
{
1956
1.88M
    SCN_EXPECT(count >= 0);
1957
1958
    if constexpr (ranges::sized_range<Range>) {
1959
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1960
        if (sz < count) {
1961
            return unexpected(eof_error::eof);
1962
        }
1963
1964
        return ranges::next(range.begin(), count);
1965
    }
1966
1.88M
    else {
1967
1.88M
        auto it = range.begin();
1968
1.88M
        if (guaranteed_minimum_size(range) >= count) {
1969
1.24M
            return ranges::next(it, count);
1970
1.24M
        }
1971
1972
2.48M
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1973
1.88M
            if (it == range.end()) {
1974
38.7k
                return unexpected(eof_error::eof);
1975
38.7k
            }
1976
1.88M
        }
1977
1978
604k
        return it;
1979
642k
    }
1980
1.88M
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_l
Line
Count
Source
1955
39.2k
{
1956
39.2k
    SCN_EXPECT(count >= 0);
1957
1958
39.2k
    if constexpr (ranges::sized_range<Range>) {
1959
39.2k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1960
39.2k
        if (sz < count) {
1961
530
            return unexpected(eof_error::eof);
1962
530
        }
1963
1964
38.7k
        return ranges::next(range.begin(), count);
1965
    }
1966
    else {
1967
        auto it = range.begin();
1968
        if (guaranteed_minimum_size(range) >= count) {
1969
            return ranges::next(it, count);
1970
        }
1971
1972
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1973
            if (it == range.end()) {
1974
                return unexpected(eof_error::eof);
1975
            }
1976
        }
1977
1978
        return it;
1979
    }
1980
39.2k
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_l
Line
Count
Source
1955
7.64k
{
1956
7.64k
    SCN_EXPECT(count >= 0);
1957
1958
    if constexpr (ranges::sized_range<Range>) {
1959
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1960
        if (sz < count) {
1961
            return unexpected(eof_error::eof);
1962
        }
1963
1964
        return ranges::next(range.begin(), count);
1965
    }
1966
7.64k
    else {
1967
7.64k
        auto it = range.begin();
1968
7.64k
        if (guaranteed_minimum_size(range) >= count) {
1969
0
            return ranges::next(it, count);
1970
0
        }
1971
1972
28.2k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1973
20.9k
            if (it == range.end()) {
1974
340
                return unexpected(eof_error::eof);
1975
340
            }
1976
20.9k
        }
1977
1978
7.30k
        return it;
1979
7.64k
    }
1980
7.64k
}
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_l
Line
Count
Source
1955
1.41M
{
1956
1.41M
    SCN_EXPECT(count >= 0);
1957
1958
    if constexpr (ranges::sized_range<Range>) {
1959
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1960
        if (sz < count) {
1961
            return unexpected(eof_error::eof);
1962
        }
1963
1964
        return ranges::next(range.begin(), count);
1965
    }
1966
1.41M
    else {
1967
1.41M
        auto it = range.begin();
1968
1.41M
        if (guaranteed_minimum_size(range) >= count) {
1969
871k
            return ranges::next(it, count);
1970
871k
        }
1971
1972
2.06M
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1973
1.59M
            if (it == range.end()) {
1974
72.8k
                return unexpected(eof_error::eof);
1975
72.8k
            }
1976
1.59M
        }
1977
1978
475k
        return it;
1979
548k
    }
1980
1.41M
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_l
Line
Count
Source
1955
1.42M
{
1956
1.42M
    SCN_EXPECT(count >= 0);
1957
1958
1.42M
    if constexpr (ranges::sized_range<Range>) {
1959
1.42M
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1960
1.42M
        if (sz < count) {
1961
73.2k
            return unexpected(eof_error::eof);
1962
73.2k
        }
1963
1964
1.35M
        return ranges::next(range.begin(), count);
1965
    }
1966
    else {
1967
        auto it = range.begin();
1968
        if (guaranteed_minimum_size(range) >= count) {
1969
            return ranges::next(it, count);
1970
        }
1971
1972
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1973
            if (it == range.end()) {
1974
                return unexpected(eof_error::eof);
1975
            }
1976
        }
1977
1978
        return it;
1979
    }
1980
1.42M
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_l
Line
Count
Source
1955
1.10k
{
1956
1.10k
    SCN_EXPECT(count >= 0);
1957
1958
    if constexpr (ranges::sized_range<Range>) {
1959
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1960
        if (sz < count) {
1961
            return unexpected(eof_error::eof);
1962
        }
1963
1964
        return ranges::next(range.begin(), count);
1965
    }
1966
1.10k
    else {
1967
1.10k
        auto it = range.begin();
1968
1.10k
        if (guaranteed_minimum_size(range) >= count) {
1969
0
            return ranges::next(it, count);
1970
0
        }
1971
1972
3.54k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1973
2.65k
            if (it == range.end()) {
1974
208
                return unexpected(eof_error::eof);
1975
208
            }
1976
2.65k
        }
1977
1978
896
        return it;
1979
1.10k
    }
1980
1.10k
}
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_l
Line
Count
Source
1955
1.33k
{
1956
1.33k
    SCN_EXPECT(count >= 0);
1957
1958
    if constexpr (ranges::sized_range<Range>) {
1959
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1960
        if (sz < count) {
1961
            return unexpected(eof_error::eof);
1962
        }
1963
1964
        return ranges::next(range.begin(), count);
1965
    }
1966
1.33k
    else {
1967
1.33k
        auto it = range.begin();
1968
1.33k
        if (guaranteed_minimum_size(range) >= count) {
1969
0
            return ranges::next(it, count);
1970
0
        }
1971
1972
5.18k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1973
3.99k
            if (it == range.end()) {
1974
144
                return unexpected(eof_error::eof);
1975
144
            }
1976
3.99k
        }
1977
1978
1.18k
        return it;
1979
1.33k
    }
1980
1.33k
}
_ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_l
Line
Count
Source
1955
1.00k
{
1956
1.00k
    SCN_EXPECT(count >= 0);
1957
1958
    if constexpr (ranges::sized_range<Range>) {
1959
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1960
        if (sz < count) {
1961
            return unexpected(eof_error::eof);
1962
        }
1963
1964
        return ranges::next(range.begin(), count);
1965
    }
1966
1.00k
    else {
1967
1.00k
        auto it = range.begin();
1968
1.00k
        if (guaranteed_minimum_size(range) >= count) {
1969
0
            return ranges::next(it, count);
1970
0
        }
1971
1972
5.04k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1973
4.22k
            if (it == range.end()) {
1974
190
                return unexpected(eof_error::eof);
1975
190
            }
1976
4.22k
        }
1977
1978
814
        return it;
1979
1.00k
    }
1980
1.00k
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_l
Line
Count
Source
1955
516
{
1956
516
    SCN_EXPECT(count >= 0);
1957
1958
    if constexpr (ranges::sized_range<Range>) {
1959
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1960
        if (sz < count) {
1961
            return unexpected(eof_error::eof);
1962
        }
1963
1964
        return ranges::next(range.begin(), count);
1965
    }
1966
516
    else {
1967
516
        auto it = range.begin();
1968
516
        if (guaranteed_minimum_size(range) >= count) {
1969
0
            return ranges::next(it, count);
1970
0
        }
1971
1972
2.54k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1973
2.14k
            if (it == range.end()) {
1974
118
                return unexpected(eof_error::eof);
1975
118
            }
1976
2.14k
        }
1977
1978
398
        return it;
1979
516
    }
1980
516
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_l
1981
1982
template <typename Iterator, typename CharT>
1983
struct read_code_point_into_result {
1984
    Iterator iterator;
1985
    std::basic_string<CharT> codepoint;
1986
1987
    bool is_valid() const
1988
73.2M
    {
1989
73.2M
        return !codepoint.empty();
1990
73.2M
    }
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, char>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, char>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, char>::is_valid() const
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, char>::is_valid() const
Line
Count
Source
1988
40.2k
    {
1989
40.2k
        return !codepoint.empty();
1990
40.2k
    }
scn::v4::impl::read_code_point_into_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, char>::is_valid() const
Line
Count
Source
1988
3.02M
    {
1989
3.02M
        return !codepoint.empty();
1990
3.02M
    }
scn::v4::impl::read_code_point_into_result<char const*, char>::is_valid() const
Line
Count
Source
1988
680k
    {
1989
680k
        return !codepoint.empty();
1990
680k
    }
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, wchar_t>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, wchar_t>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, wchar_t>::is_valid() const
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, wchar_t>::is_valid() const
Line
Count
Source
1988
16.6k
    {
1989
16.6k
        return !codepoint.empty();
1990
16.6k
    }
scn::v4::impl::read_code_point_into_result<wchar_t const*, wchar_t>::is_valid() const
Line
Count
Source
1988
46.4M
    {
1989
46.4M
        return !codepoint.empty();
1990
46.4M
    }
scn::v4::impl::read_code_point_into_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, wchar_t>::is_valid() const
Line
Count
Source
1988
23.1M
    {
1989
23.1M
        return !codepoint.empty();
1990
23.1M
    }
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, char>::is_valid() const
Line
Count
Source
1988
4.01k
    {
1989
4.01k
        return !codepoint.empty();
1990
4.01k
    }
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, wchar_t>::is_valid() const
Line
Count
Source
1988
2.18k
    {
1989
2.18k
        return !codepoint.empty();
1990
2.18k
    }
1991
};
1992
1993
template <typename Range>
1994
auto read_code_point_into(Range range)
1995
    -> read_code_point_into_result<ranges::const_iterator_t<Range>,
1996
                                   detail::char_t<Range>>
1997
73.2M
{
1998
73.2M
    SCN_EXPECT(!is_range_eof(range));
1999
73.2M
    using string_type = std::basic_string<detail::char_t<Range>>;
2000
2001
73.2M
    auto it = range.begin();
2002
73.2M
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2003
2004
73.2M
    if (SCN_UNLIKELY(len == 0)) {
2005
51.6k
        ++it;
2006
51.6k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2007
51.6k
        return {it, {}};
2008
51.6k
    }
2009
2010
73.2M
    if (len == 1) {
2011
73.0M
        ++it;
2012
73.0M
        return {it, string_type(1, *range.begin())};
2013
73.0M
    }
2014
2015
211k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2016
211k
    return {it, string_type{range.begin(), it}};
2017
73.2M
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISL_EEE4typeEEESL_
Line
Count
Source
1997
40.2k
{
1998
40.2k
    SCN_EXPECT(!is_range_eof(range));
1999
40.2k
    using string_type = std::basic_string<detail::char_t<Range>>;
2000
2001
40.2k
    auto it = range.begin();
2002
40.2k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2003
2004
40.2k
    if (SCN_UNLIKELY(len == 0)) {
2005
6.55k
        ++it;
2006
6.55k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2007
6.55k
        return {it, {}};
2008
6.55k
    }
2009
2010
33.7k
    if (len == 1) {
2011
29.8k
        ++it;
2012
29.8k
        return {it, string_type(1, *range.begin())};
2013
29.8k
    }
2014
2015
3.92k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2016
3.92k
    return {it, string_type{range.begin(), it}};
2017
33.7k
}
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISG_EEE4typeEEESG_
Line
Count
Source
1997
3.02M
{
1998
3.02M
    SCN_EXPECT(!is_range_eof(range));
1999
3.02M
    using string_type = std::basic_string<detail::char_t<Range>>;
2000
2001
3.02M
    auto it = range.begin();
2002
3.02M
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2003
2004
3.02M
    if (SCN_UNLIKELY(len == 0)) {
2005
43.8k
        ++it;
2006
43.8k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2007
43.8k
        return {it, {}};
2008
43.8k
    }
2009
2010
2.98M
    if (len == 1) {
2011
2.89M
        ++it;
2012
2.89M
        return {it, string_type(1, *range.begin())};
2013
2.89M
    }
2014
2015
87.6k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2016
87.6k
    return {it, string_type{range.begin(), it}};
2017
2.98M
}
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISD_EEE4typeEEESD_
Line
Count
Source
1997
680k
{
1998
680k
    SCN_EXPECT(!is_range_eof(range));
1999
680k
    using string_type = std::basic_string<detail::char_t<Range>>;
2000
2001
680k
    auto it = range.begin();
2002
680k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2003
2004
680k
    if (SCN_UNLIKELY(len == 0)) {
2005
1.21k
        ++it;
2006
1.21k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2007
1.21k
        return {it, {}};
2008
1.21k
    }
2009
2010
679k
    if (len == 1) {
2011
560k
        ++it;
2012
560k
        return {it, string_type(1, *range.begin())};
2013
560k
    }
2014
2015
118k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2016
118k
    return {it, string_type{range.begin(), it}};
2017
679k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISD_EEE4typeEEESD_
Line
Count
Source
1997
46.4M
{
1998
46.4M
    SCN_EXPECT(!is_range_eof(range));
1999
46.4M
    using string_type = std::basic_string<detail::char_t<Range>>;
2000
2001
46.4M
    auto it = range.begin();
2002
46.4M
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2003
2004
46.4M
    if (SCN_UNLIKELY(len == 0)) {
2005
0
        ++it;
2006
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2007
0
        return {it, {}};
2008
0
    }
2009
2010
46.4M
    if (len == 1) {
2011
46.4M
        ++it;
2012
46.4M
        return {it, string_type(1, *range.begin())};
2013
46.4M
    }
2014
2015
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2016
0
    return {it, string_type{range.begin(), it}};
2017
46.4M
}
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISL_EEE4typeEEESL_
Line
Count
Source
1997
16.6k
{
1998
16.6k
    SCN_EXPECT(!is_range_eof(range));
1999
16.6k
    using string_type = std::basic_string<detail::char_t<Range>>;
2000
2001
16.6k
    auto it = range.begin();
2002
16.6k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2003
2004
16.6k
    if (SCN_UNLIKELY(len == 0)) {
2005
0
        ++it;
2006
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2007
0
        return {it, {}};
2008
0
    }
2009
2010
16.6k
    if (len == 1) {
2011
16.6k
        ++it;
2012
16.6k
        return {it, string_type(1, *range.begin())};
2013
16.6k
    }
2014
2015
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2016
0
    return {it, string_type{range.begin(), it}};
2017
16.6k
}
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISG_EEE4typeEEESG_
Line
Count
Source
1997
23.1M
{
1998
23.1M
    SCN_EXPECT(!is_range_eof(range));
1999
23.1M
    using string_type = std::basic_string<detail::char_t<Range>>;
2000
2001
23.1M
    auto it = range.begin();
2002
23.1M
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2003
2004
23.1M
    if (SCN_UNLIKELY(len == 0)) {
2005
0
        ++it;
2006
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2007
0
        return {it, {}};
2008
0
    }
2009
2010
23.1M
    if (len == 1) {
2011
23.1M
        ++it;
2012
23.1M
        return {it, string_type(1, *range.begin())};
2013
23.1M
    }
2014
2015
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2016
0
    return {it, string_type{range.begin(), it}};
2017
23.1M
}
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISP_EEE4typeEEESP_
Line
Count
Source
1997
4.01k
{
1998
4.01k
    SCN_EXPECT(!is_range_eof(range));
1999
4.01k
    using string_type = std::basic_string<detail::char_t<Range>>;
2000
2001
4.01k
    auto it = range.begin();
2002
4.01k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2003
2004
4.01k
    if (SCN_UNLIKELY(len == 0)) {
2005
0
        ++it;
2006
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2007
0
        return {it, {}};
2008
0
    }
2009
2010
4.01k
    if (len == 1) {
2011
2.98k
        ++it;
2012
2.98k
        return {it, string_type(1, *range.begin())};
2013
2.98k
    }
2014
2015
1.03k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2016
1.03k
    return {it, string_type{range.begin(), it}};
2017
4.01k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISF_EEE4typeEEESF_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISI_EEE4typeEEESI_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISP_EEE4typeEEESP_
Line
Count
Source
1997
2.18k
{
1998
2.18k
    SCN_EXPECT(!is_range_eof(range));
1999
2.18k
    using string_type = std::basic_string<detail::char_t<Range>>;
2000
2001
2.18k
    auto it = range.begin();
2002
2.18k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2003
2004
2.18k
    if (SCN_UNLIKELY(len == 0)) {
2005
0
        ++it;
2006
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2007
0
        return {it, {}};
2008
0
    }
2009
2010
2.18k
    if (len == 1) {
2011
2.18k
        ++it;
2012
2.18k
        return {it, string_type(1, *range.begin())};
2013
2.18k
    }
2014
2015
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2016
0
    return {it, string_type{range.begin(), it}};
2017
2.18k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISF_EEE4typeEEESF_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISI_EEE4typeEEESI_
2018
2019
template <typename Range>
2020
auto read_code_point(Range range) -> ranges::const_iterator_t<Range>
2021
{
2022
    return read_code_point_into(range).iterator;
2023
}
2024
2025
template <typename Range>
2026
auto read_exactly_n_code_points(Range range, std::ptrdiff_t count)
2027
    -> eof_expected<ranges::const_iterator_t<Range>>
2028
{
2029
    SCN_EXPECT(count >= 0);
2030
2031
    if (count > 0) {
2032
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
2033
            return unexpected(e);
2034
        }
2035
    }
2036
2037
    auto it = range.begin();
2038
    for (std::ptrdiff_t i = 0; i < count; ++i) {
2039
        auto rng = ranges::subrange{it, range.end()};
2040
2041
        if (auto e = eof_check(rng); SCN_UNLIKELY(!e)) {
2042
            return unexpected(e);
2043
        }
2044
2045
        it = read_code_point(rng);
2046
    }
2047
2048
    return it;
2049
}
2050
2051
template <typename Range>
2052
auto read_until_code_unit(Range range,
2053
                          detail::mp_identity_t<detail::char_t<Range>> cu)
2054
    -> ranges::const_iterator_t<Range>
2055
552
{
2056
552
    if constexpr (ranges::common_range<Range>) {
2057
204
        return std::find(range.begin(), range.end(), cu);
2058
    }
2059
348
    else {
2060
348
        auto first = range.begin();
2061
8.67k
        for (; first != range.end(); ++first) {
2062
8.34k
            if (*first == cu) {
2063
12
                return first;
2064
12
            }
2065
8.34k
        }
2066
336
        return first;
2067
348
    }
2068
552
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS8_11mp_identityINDTcl4implISH_EEE4typeEE4typeE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS7_11mp_identityINDTcl4implISF_EEE4typeEE4typeE
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS0_6detail11mp_identityINDTcl4implISE_EEE4typeEE4typeE
Line
Count
Source
2055
216
{
2056
    if constexpr (ranges::common_range<Range>) {
2057
        return std::find(range.begin(), range.end(), cu);
2058
    }
2059
216
    else {
2060
216
        auto first = range.begin();
2061
5.09k
        for (; first != range.end(); ++first) {
2062
4.88k
            if (*first == cu) {
2063
6
                return first;
2064
6
            }
2065
4.88k
        }
2066
210
        return first;
2067
216
    }
2068
216
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS0_6detail11mp_identityINDTcl4implISC_EEE4typeEE4typeE
Line
Count
Source
2055
90
{
2056
90
    if constexpr (ranges::common_range<Range>) {
2057
90
        return std::find(range.begin(), range.end(), cu);
2058
    }
2059
    else {
2060
        auto first = range.begin();
2061
        for (; first != range.end(); ++first) {
2062
            if (*first == cu) {
2063
                return first;
2064
            }
2065
        }
2066
        return first;
2067
    }
2068
90
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS8_11mp_identityINDTcl4implISH_EEE4typeEE4typeE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS7_11mp_identityINDTcl4implISF_EEE4typeEE4typeE
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS0_6detail11mp_identityINDTcl4implISE_EEE4typeEE4typeE
Line
Count
Source
2055
132
{
2056
    if constexpr (ranges::common_range<Range>) {
2057
        return std::find(range.begin(), range.end(), cu);
2058
    }
2059
132
    else {
2060
132
        auto first = range.begin();
2061
3.58k
        for (; first != range.end(); ++first) {
2062
3.45k
            if (*first == cu) {
2063
6
                return first;
2064
6
            }
2065
3.45k
        }
2066
126
        return first;
2067
132
    }
2068
132
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS0_6detail11mp_identityINDTcl4implISC_EEE4typeEE4typeE
Line
Count
Source
2055
114
{
2056
114
    if constexpr (ranges::common_range<Range>) {
2057
114
        return std::find(range.begin(), range.end(), cu);
2058
    }
2059
    else {
2060
        auto first = range.begin();
2061
        for (; first != range.end(); ++first) {
2062
            if (*first == cu) {
2063
                return first;
2064
            }
2065
        }
2066
        return first;
2067
    }
2068
114
}
2069
2070
template <typename Range>
2071
auto read_until_code_unit(Range range,
2072
                          function_ref<bool(detail::char_t<Range>)> pred)
2073
    -> ranges::const_iterator_t<Range>
2074
3.04M
{
2075
3.04M
    if constexpr (ranges::common_range<Range>) {
2076
636k
        return std::find_if(range.begin(), range.end(), pred);
2077
    }
2078
2.41M
    else {
2079
2.41M
        auto first = range.begin();
2080
7.07M
        for (; first != range.end(); ++first) {
2081
7.04M
            if (pred(*first)) {
2082
2.38M
                return first;
2083
2.38M
            }
2084
7.04M
        }
2085
27.4k
        return first;
2086
2.41M
    }
2087
3.04M
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2074
1.40M
{
2075
    if constexpr (ranges::common_range<Range>) {
2076
        return std::find_if(range.begin(), range.end(), pred);
2077
    }
2078
1.40M
    else {
2079
1.40M
        auto first = range.begin();
2080
5.54M
        for (; first != range.end(); ++first) {
2081
5.52M
            if (pred(*first)) {
2082
1.38M
                return first;
2083
1.38M
            }
2084
5.52M
        }
2085
23.0k
        return first;
2086
1.40M
    }
2087
1.40M
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2074
1.55k
{
2075
    if constexpr (ranges::common_range<Range>) {
2076
        return std::find_if(range.begin(), range.end(), pred);
2077
    }
2078
1.55k
    else {
2079
1.55k
        auto first = range.begin();
2080
1.55k
        for (; first != range.end(); ++first) {
2081
1.55k
            if (pred(*first)) {
2082
1.55k
                return first;
2083
1.55k
            }
2084
1.55k
        }
2085
0
        return first;
2086
1.55k
    }
2087
1.55k
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2074
326k
{
2075
326k
    if constexpr (ranges::common_range<Range>) {
2076
326k
        return std::find_if(range.begin(), range.end(), pred);
2077
    }
2078
    else {
2079
        auto first = range.begin();
2080
        for (; first != range.end(); ++first) {
2081
            if (pred(*first)) {
2082
                return first;
2083
            }
2084
        }
2085
        return first;
2086
    }
2087
326k
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2074
500
{
2075
    if constexpr (ranges::common_range<Range>) {
2076
        return std::find_if(range.begin(), range.end(), pred);
2077
    }
2078
500
    else {
2079
500
        auto first = range.begin();
2080
8.04k
        for (; first != range.end(); ++first) {
2081
7.82k
            if (pred(*first)) {
2082
280
                return first;
2083
280
            }
2084
7.82k
        }
2085
220
        return first;
2086
500
    }
2087
500
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2074
999k
{
2075
    if constexpr (ranges::common_range<Range>) {
2076
        return std::find_if(range.begin(), range.end(), pred);
2077
    }
2078
999k
    else {
2079
999k
        auto first = range.begin();
2080
1.50M
        for (; first != range.end(); ++first) {
2081
1.50M
            if (pred(*first)) {
2082
995k
                return first;
2083
995k
            }
2084
1.50M
        }
2085
3.97k
        return first;
2086
999k
    }
2087
999k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2074
962
{
2075
    if constexpr (ranges::common_range<Range>) {
2076
        return std::find_if(range.begin(), range.end(), pred);
2077
    }
2078
962
    else {
2079
962
        auto first = range.begin();
2080
1.02k
        for (; first != range.end(); ++first) {
2081
992
            if (pred(*first)) {
2082
932
                return first;
2083
932
            }
2084
992
        }
2085
30
        return first;
2086
962
    }
2087
962
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2074
309k
{
2075
309k
    if constexpr (ranges::common_range<Range>) {
2076
309k
        return std::find_if(range.begin(), range.end(), pred);
2077
    }
2078
    else {
2079
        auto first = range.begin();
2080
        for (; first != range.end(); ++first) {
2081
            if (pred(*first)) {
2082
                return first;
2083
            }
2084
        }
2085
        return first;
2086
    }
2087
309k
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2074
414
{
2075
    if constexpr (ranges::common_range<Range>) {
2076
        return std::find_if(range.begin(), range.end(), pred);
2077
    }
2078
414
    else {
2079
414
        auto first = range.begin();
2080
2.64k
        for (; first != range.end(); ++first) {
2081
2.52k
            if (pred(*first)) {
2082
294
                return first;
2083
294
            }
2084
2.52k
        }
2085
120
        return first;
2086
414
    }
2087
414
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2074
588
{
2075
    if constexpr (ranges::common_range<Range>) {
2076
        return std::find_if(range.begin(), range.end(), pred);
2077
    }
2078
588
    else {
2079
588
        auto first = range.begin();
2080
840
        for (; first != range.end(); ++first) {
2081
804
            if (pred(*first)) {
2082
552
                return first;
2083
552
            }
2084
804
        }
2085
36
        return first;
2086
588
    }
2087
588
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2074
566
{
2075
    if constexpr (ranges::common_range<Range>) {
2076
        return std::find_if(range.begin(), range.end(), pred);
2077
    }
2078
566
    else {
2079
566
        auto first = range.begin();
2080
864
        for (; first != range.end(); ++first) {
2081
830
            if (pred(*first)) {
2082
532
                return first;
2083
532
            }
2084
830
        }
2085
34
        return first;
2086
566
    }
2087
566
}
2088
2089
template <typename Range>
2090
auto read_while_code_unit(Range range,
2091
                          detail::mp_identity_t<detail::char_t<Range>> cu)
2092
    -> ranges::const_iterator_t<Range>
2093
{
2094
    auto first = range.begin();
2095
    for (; first != range.end(); ++first) {
2096
        if (*first != cu) {
2097
            return first;
2098
        }
2099
    }
2100
    return first;
2101
}
2102
2103
template <typename Range>
2104
auto read_while_code_unit(Range range,
2105
                          function_ref<bool(detail::char_t<Range>)> pred)
2106
    -> ranges::const_iterator_t<Range>
2107
3.04M
{
2108
3.04M
    return read_until_code_unit(range, std::not_fn(pred));
2109
3.04M
}
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2107
1.40M
{
2108
1.40M
    return read_until_code_unit(range, std::not_fn(pred));
2109
1.40M
}
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2107
1.55k
{
2108
1.55k
    return read_until_code_unit(range, std::not_fn(pred));
2109
1.55k
}
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2107
326k
{
2108
326k
    return read_until_code_unit(range, std::not_fn(pred));
2109
326k
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2107
320
{
2108
320
    return read_until_code_unit(range, std::not_fn(pred));
2109
320
}
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2107
999k
{
2108
999k
    return read_until_code_unit(range, std::not_fn(pred));
2109
999k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2107
962
{
2108
962
    return read_until_code_unit(range, std::not_fn(pred));
2109
962
}
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2107
309k
{
2108
309k
    return read_until_code_unit(range, std::not_fn(pred));
2109
309k
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2107
300
{
2108
300
    return read_until_code_unit(range, std::not_fn(pred));
2109
300
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2107
588
{
2108
588
    return read_until_code_unit(range, std::not_fn(pred));
2109
588
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2107
566
{
2108
566
    return read_until_code_unit(range, std::not_fn(pred));
2109
566
}
2110
2111
template <typename Range>
2112
auto read_until1_code_unit(Range range,
2113
                           function_ref<bool(detail::char_t<Range>)> pred)
2114
    -> parse_expected<ranges::const_iterator_t<Range>>
2115
{
2116
    auto it = read_until_code_unit(range, pred);
2117
    if (it == range.begin()) {
2118
        return unexpected(parse_error::error);
2119
    }
2120
    return it;
2121
}
2122
2123
template <typename Range>
2124
auto read_while1_code_unit(Range range,
2125
                           function_ref<bool(detail::char_t<Range>)> pred)
2126
    -> parse_expected<ranges::const_iterator_t<Range>>
2127
3.01M
{
2128
3.01M
    auto it = read_while_code_unit(range, pred);
2129
3.01M
    if (it == range.begin()) {
2130
1.43M
        return unexpected(parse_error::error);
2131
1.43M
    }
2132
1.57M
    return it;
2133
3.01M
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS1_12function_refIFbNDTcl4implISO_EEE4typeEENS1_12fnref_detail11qual_fn_sigISX_E8functionEEE
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NS1_12function_refIFbNDTcl4implISG_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Line
Count
Source
2127
1.39M
{
2128
1.39M
    auto it = read_while_code_unit(range, pred);
2129
1.39M
    if (it == range.begin()) {
2130
510k
        return unexpected(parse_error::error);
2131
510k
    }
2132
886k
    return it;
2133
1.39M
}
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS1_12function_refIFbNDTcl4implISL_EEE4typeEENS1_12fnref_detail11qual_fn_sigISU_E8functionEEE
Line
Count
Source
2127
1.55k
{
2128
1.55k
    auto it = read_while_code_unit(range, pred);
2129
1.55k
    if (it == range.begin()) {
2130
1.55k
        return unexpected(parse_error::error);
2131
1.55k
    }
2132
0
    return it;
2133
1.55k
}
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2127
313k
{
2128
313k
    auto it = read_while_code_unit(range, pred);
2129
313k
    if (it == range.begin()) {
2130
142k
        return unexpected(parse_error::error);
2131
142k
    }
2132
171k
    return it;
2133
313k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS1_12function_refIFbNDTcl4implISO_EEE4typeEENS1_12fnref_detail11qual_fn_sigISX_E8functionEEE
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NS1_12function_refIFbNDTcl4implISG_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Line
Count
Source
2127
995k
{
2128
995k
    auto it = read_while_code_unit(range, pred);
2129
995k
    if (it == range.begin()) {
2130
600k
        return unexpected(parse_error::error);
2131
600k
    }
2132
395k
    return it;
2133
995k
}
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS1_12function_refIFbNDTcl4implISL_EEE4typeEENS1_12fnref_detail11qual_fn_sigISU_E8functionEEE
Line
Count
Source
2127
962
{
2128
962
    auto it = read_while_code_unit(range, pred);
2129
962
    if (it == range.begin()) {
2130
902
        return unexpected(parse_error::error);
2131
902
    }
2132
60
    return it;
2133
962
}
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2127
301k
{
2128
301k
    auto it = read_while_code_unit(range, pred);
2129
301k
    if (it == range.begin()) {
2130
174k
        return unexpected(parse_error::error);
2131
174k
    }
2132
126k
    return it;
2133
301k
}
2134
2135
template <typename Range, typename CodeUnits>
2136
auto read_until_code_units(Range range, const CodeUnits& needle)
2137
    -> ranges::const_iterator_t<Range>
2138
258
{
2139
258
    static_assert(ranges::common_range<CodeUnits>);
2140
2141
258
    if constexpr (ranges::common_range<Range>) {
2142
96
        return std::search(range.begin(), range.end(), needle.begin(),
2143
96
                           needle.end());
2144
    }
2145
162
    else {
2146
162
        auto first = range.begin();
2147
2.26k
        while (true) {
2148
2.26k
            auto it = first;
2149
2.78k
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2150
2.78k
                if (needle_it == needle.end()) {
2151
108
                    return first;
2152
108
                }
2153
2.67k
                if (it == range.end()) {
2154
54
                    return it;
2155
54
                }
2156
2.62k
                if (*it != *needle_it) {
2157
2.10k
                    break;
2158
2.10k
                }
2159
2.62k
            }
2160
2.10k
            ++first;
2161
2.10k
        }
2162
162
    }
2163
258
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
_ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Line
Count
Source
2138
162
{
2139
162
    static_assert(ranges::common_range<CodeUnits>);
2140
2141
    if constexpr (ranges::common_range<Range>) {
2142
        return std::search(range.begin(), range.end(), needle.begin(),
2143
                           needle.end());
2144
    }
2145
162
    else {
2146
162
        auto first = range.begin();
2147
2.26k
        while (true) {
2148
2.26k
            auto it = first;
2149
2.78k
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2150
2.78k
                if (needle_it == needle.end()) {
2151
108
                    return first;
2152
108
                }
2153
2.67k
                if (it == range.end()) {
2154
54
                    return it;
2155
54
                }
2156
2.62k
                if (*it != *needle_it) {
2157
2.10k
                    break;
2158
2.10k
                }
2159
2.62k
            }
2160
2.10k
            ++first;
2161
2.10k
        }
2162
162
    }
2163
162
}
_ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Line
Count
Source
2138
96
{
2139
96
    static_assert(ranges::common_range<CodeUnits>);
2140
2141
96
    if constexpr (ranges::common_range<Range>) {
2142
96
        return std::search(range.begin(), range.end(), needle.begin(),
2143
96
                           needle.end());
2144
    }
2145
    else {
2146
        auto first = range.begin();
2147
        while (true) {
2148
            auto it = first;
2149
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2150
                if (needle_it == needle.end()) {
2151
                    return first;
2152
                }
2153
                if (it == range.end()) {
2154
                    return it;
2155
                }
2156
                if (*it != *needle_it) {
2157
                    break;
2158
                }
2159
            }
2160
            ++first;
2161
        }
2162
    }
2163
96
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
2164
2165
template <typename Range, typename CodeUnits>
2166
auto read_while_code_units(Range range, const CodeUnits& needle)
2167
    -> ranges::const_iterator_t<Range>
2168
1.50k
{
2169
1.50k
    static_assert(ranges::common_range<CodeUnits>);
2170
2171
1.50k
    auto it = range.begin();
2172
2.72k
    while (it != range.end()) {
2173
2.63k
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2174
2.63k
                                           needle.size());
2175
2.63k
        if (!r) {
2176
220
            return it;
2177
220
        }
2178
2.41k
        static_assert(
2179
2.41k
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2180
2.41k
        if (!std::equal(it, *r, needle.begin())) {
2181
1.19k
            return it;
2182
1.19k
        }
2183
1.21k
        it = *r;
2184
1.21k
    }
2185
86
    SCN_ENSURE(it == range.end());
2186
86
    return it;
2187
86
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEESM_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEES7_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_RKT0_
_ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Line
Count
Source
2168
378
{
2169
378
    static_assert(ranges::common_range<CodeUnits>);
2170
2171
378
    auto it = range.begin();
2172
664
    while (it != range.end()) {
2173
664
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2174
664
                                           needle.size());
2175
664
        if (!r) {
2176
6
            return it;
2177
6
        }
2178
658
        static_assert(
2179
658
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2180
658
        if (!std::equal(it, *r, needle.begin())) {
2181
372
            return it;
2182
372
        }
2183
286
        it = *r;
2184
286
    }
2185
0
    SCN_ENSURE(it == range.end());
2186
0
    return it;
2187
0
}
_ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Line
Count
Source
2168
342
{
2169
342
    static_assert(ranges::common_range<CodeUnits>);
2170
2171
342
    auto it = range.begin();
2172
692
    while (it != range.end()) {
2173
640
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2174
640
                                           needle.size());
2175
640
        if (!r) {
2176
70
            return it;
2177
70
        }
2178
570
        static_assert(
2179
570
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2180
570
        if (!std::equal(it, *r, needle.begin())) {
2181
220
            return it;
2182
220
        }
2183
350
        it = *r;
2184
350
    }
2185
52
    SCN_ENSURE(it == range.end());
2186
52
    return it;
2187
52
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEESM_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEES7_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
_ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Line
Count
Source
2168
782
{
2169
782
    static_assert(ranges::common_range<CodeUnits>);
2170
2171
782
    auto it = range.begin();
2172
1.36k
    while (it != range.end()) {
2173
1.33k
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2174
1.33k
                                           needle.size());
2175
1.33k
        if (!r) {
2176
144
            return it;
2177
144
        }
2178
1.18k
        static_assert(
2179
1.18k
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2180
1.18k
        if (!std::equal(it, *r, needle.begin())) {
2181
604
            return it;
2182
604
        }
2183
582
        it = *r;
2184
582
    }
2185
34
    SCN_ENSURE(it == range.end());
2186
34
    return it;
2187
34
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
2188
2189
template <typename Range>
2190
auto read_until_code_point(Range range, function_ref<bool(char32_t)> pred)
2191
    -> ranges::const_iterator_t<Range>
2192
7.53M
{
2193
7.53M
    auto it = range.begin();
2194
73.8M
    while (it != range.end()) {
2195
73.2M
        const auto val =
2196
73.2M
            read_code_point_into(ranges::subrange{it, range.end()});
2197
73.2M
        if (SCN_LIKELY(val.is_valid())) {
2198
73.2M
            const auto cp = detail::decode_code_point_exhaustive(
2199
73.2M
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2200
73.2M
            if (pred(cp)) {
2201
6.99M
                return it;
2202
6.99M
            }
2203
73.2M
        }
2204
66.2M
        it = val.iterator;
2205
66.2M
    }
2206
2207
542k
    return it;
2208
7.53M
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2192
1.15k
{
2193
1.15k
    auto it = range.begin();
2194
20.9k
    while (it != range.end()) {
2195
20.4k
        const auto val =
2196
20.4k
            read_code_point_into(ranges::subrange{it, range.end()});
2197
20.4k
        if (SCN_LIKELY(val.is_valid())) {
2198
17.6k
            const auto cp = detail::decode_code_point_exhaustive(
2199
17.6k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2200
17.6k
            if (pred(cp)) {
2201
680
                return it;
2202
680
            }
2203
17.6k
        }
2204
19.7k
        it = val.iterator;
2205
19.7k
    }
2206
2207
470
    return it;
2208
1.15k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbDiEST_EE
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2192
1.23M
{
2193
1.23M
    auto it = range.begin();
2194
3.04M
    while (it != range.end()) {
2195
3.02M
        const auto val =
2196
3.02M
            read_code_point_into(ranges::subrange{it, range.end()});
2197
3.02M
        if (SCN_LIKELY(val.is_valid())) {
2198
2.98M
            const auto cp = detail::decode_code_point_exhaustive(
2199
2.98M
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2200
2.98M
            if (pred(cp)) {
2201
1.20M
                return it;
2202
1.20M
            }
2203
2.98M
        }
2204
1.81M
        it = val.iterator;
2205
1.81M
    }
2206
2207
23.2k
    return it;
2208
1.23M
}
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbDiESQ_EE
Line
Count
Source
2192
1.08k
{
2193
1.08k
    auto it = range.begin();
2194
20.6k
    while (it != range.end()) {
2195
19.8k
        const auto val =
2196
19.8k
            read_code_point_into(ranges::subrange{it, range.end()});
2197
19.8k
        if (SCN_LIKELY(val.is_valid())) {
2198
16.0k
            const auto cp = detail::decode_code_point_exhaustive(
2199
16.0k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2200
16.0k
            if (pred(cp)) {
2201
264
                return it;
2202
264
            }
2203
16.0k
        }
2204
19.5k
        it = val.iterator;
2205
19.5k
    }
2206
2207
816
    return it;
2208
1.08k
}
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2192
3.88k
{
2193
3.88k
    auto it = range.begin();
2194
680k
    while (it != range.end()) {
2195
680k
        const auto val =
2196
680k
            read_code_point_into(ranges::subrange{it, range.end()});
2197
680k
        if (SCN_LIKELY(val.is_valid())) {
2198
679k
            const auto cp = detail::decode_code_point_exhaustive(
2199
679k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2200
679k
            if (pred(cp)) {
2201
3.69k
                return it;
2202
3.69k
            }
2203
679k
        }
2204
676k
        it = val.iterator;
2205
676k
    }
2206
2207
192
    return it;
2208
3.88k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_until_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbDiESG_EE
Line
Count
Source
2192
10.2k
{
2193
10.2k
    auto it = range.begin();
2194
22.4k
    while (it != range.end()) {
2195
17.0k
        const auto val =
2196
17.0k
            read_code_point_into(ranges::subrange{it, range.end()});
2197
17.0k
        if (SCN_LIKELY(val.is_valid())) {
2198
17.0k
            const auto cp = detail::decode_code_point_exhaustive(
2199
17.0k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2200
17.0k
            if (pred(cp)) {
2201
4.85k
                return it;
2202
4.85k
            }
2203
17.0k
        }
2204
12.2k
        it = val.iterator;
2205
12.2k
    }
2206
2207
5.39k
    return it;
2208
10.2k
}
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2192
886
{
2193
886
    auto it = range.begin();
2194
5.71k
    while (it != range.end()) {
2195
5.52k
        const auto val =
2196
5.52k
            read_code_point_into(ranges::subrange{it, range.end()});
2197
5.52k
        if (SCN_LIKELY(val.is_valid())) {
2198
5.52k
            const auto cp = detail::decode_code_point_exhaustive(
2199
5.52k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2200
5.52k
            if (pred(cp)) {
2201
700
                return it;
2202
700
            }
2203
5.52k
        }
2204
4.82k
        it = val.iterator;
2205
4.82k
    }
2206
2207
186
    return it;
2208
886
}
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2192
4.19M
{
2193
4.19M
    auto it = range.begin();
2194
46.8M
    while (it != range.end()) {
2195
46.3M
        const auto val =
2196
46.3M
            read_code_point_into(ranges::subrange{it, range.end()});
2197
46.3M
        if (SCN_LIKELY(val.is_valid())) {
2198
46.3M
            const auto cp = detail::decode_code_point_exhaustive(
2199
46.3M
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2200
46.3M
            if (pred(cp)) {
2201
3.69M
                return it;
2202
3.69M
            }
2203
46.3M
        }
2204
42.6M
        it = val.iterator;
2205
42.6M
    }
2206
2207
498k
    return it;
2208
4.19M
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbDiEST_EE
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2192
2.08M
{
2193
2.08M
    auto it = range.begin();
2194
23.1M
    while (it != range.end()) {
2195
23.1M
        const auto val =
2196
23.1M
            read_code_point_into(ranges::subrange{it, range.end()});
2197
23.1M
        if (SCN_LIKELY(val.is_valid())) {
2198
23.1M
            const auto cp = detail::decode_code_point_exhaustive(
2199
23.1M
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2200
23.1M
            if (pred(cp)) {
2201
2.07M
                return it;
2202
2.07M
            }
2203
23.1M
        }
2204
21.0M
        it = val.iterator;
2205
21.0M
    }
2206
2207
12.2k
    return it;
2208
2.08M
}
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbDiESQ_EE
Line
Count
Source
2192
624
{
2193
624
    auto it = range.begin();
2194
11.6k
    while (it != range.end()) {
2195
11.0k
        const auto val =
2196
11.0k
            read_code_point_into(ranges::subrange{it, range.end()});
2197
11.0k
        if (SCN_LIKELY(val.is_valid())) {
2198
11.0k
            const auto cp = detail::decode_code_point_exhaustive(
2199
11.0k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2200
11.0k
            if (pred(cp)) {
2201
90
                return it;
2202
90
            }
2203
11.0k
        }
2204
10.9k
        it = val.iterator;
2205
10.9k
    }
2206
2207
534
    return it;
2208
624
}
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2192
2.55k
{
2193
2.55k
    auto it = range.begin();
2194
4.25k
    while (it != range.end()) {
2195
4.01k
        const auto val =
2196
4.01k
            read_code_point_into(ranges::subrange{it, range.end()});
2197
4.01k
        if (SCN_LIKELY(val.is_valid())) {
2198
4.01k
            const auto cp = detail::decode_code_point_exhaustive(
2199
4.01k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2200
4.01k
            if (pred(cp)) {
2201
2.31k
                return it;
2202
2.31k
            }
2203
4.01k
        }
2204
1.70k
        it = val.iterator;
2205
1.70k
    }
2206
2207
238
    return it;
2208
2.55k
}
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2192
1.67k
{
2193
1.67k
    auto it = range.begin();
2194
2.31k
    while (it != range.end()) {
2195
2.18k
        const auto val =
2196
2.18k
            read_code_point_into(ranges::subrange{it, range.end()});
2197
2.18k
        if (SCN_LIKELY(val.is_valid())) {
2198
2.18k
            const auto cp = detail::decode_code_point_exhaustive(
2199
2.18k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2200
2.18k
            if (pred(cp)) {
2201
1.55k
                return it;
2202
1.55k
            }
2203
2.18k
        }
2204
638
        it = val.iterator;
2205
638
    }
2206
2207
124
    return it;
2208
1.67k
}
2209
2210
template <typename Range>
2211
auto read_while_code_point(Range range, function_ref<bool(char32_t)> pred)
2212
    -> ranges::const_iterator_t<Range>
2213
4.65M
{
2214
4.65M
    return read_until_code_point(range, std::not_fn(pred));
2215
4.65M
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2213
910
{
2214
910
    return read_until_code_point(range, std::not_fn(pred));
2215
910
}
_ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2213
1.11M
{
2214
1.11M
    return read_until_code_point(range, std::not_fn(pred));
2215
1.11M
}
_ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2213
3.63k
{
2214
3.63k
    return read_until_code_point(range, std::not_fn(pred));
2215
3.63k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_while_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbDiESG_EE
Line
Count
Source
2213
10.2k
{
2214
10.2k
    return read_until_code_point(range, std::not_fn(pred));
2215
10.2k
}
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2213
688
{
2214
688
    return read_until_code_point(range, std::not_fn(pred));
2215
688
}
_ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2213
2.10M
{
2214
2.10M
    return read_until_code_point(range, std::not_fn(pred));
2215
2.10M
}
_ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2213
1.40M
{
2214
1.40M
    return read_until_code_point(range, std::not_fn(pred));
2215
1.40M
}
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2213
2.55k
{
2214
2.55k
    return read_until_code_point(range, std::not_fn(pred));
2215
2.55k
}
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2213
1.67k
{
2214
1.67k
    return read_until_code_point(range, std::not_fn(pred));
2215
1.67k
}
2216
2217
template <typename Range>
2218
auto read_until_classic_space(Range range) -> ranges::const_iterator_t<Range>
2219
3.96M
{
2220
    if constexpr (ranges::contiguous_range<Range> &&
2221
                  ranges::sized_range<Range> &&
2222
1.08M
                  std::is_same_v<detail::char_t<Range>, char>) {
2223
1.08M
        auto buf = make_contiguous_buffer(range);
2224
1.08M
        auto it = find_classic_space_narrow_fast(buf.view());
2225
1.08M
        return ranges::next(range.begin(),
2226
1.08M
                            ranges::distance(buf.view().begin(), it));
2227
    }
2228
2.88M
    else {
2229
2.88M
        auto it = range.begin();
2230
2231
2.88M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2232
117k
            auto seg = get_contiguous_beginning(range);
2233
117k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2234
117k
                seg_it != seg.end()) {
2235
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2236
0
            }
2237
117k
            ranges::advance(it, seg.size());
2238
117k
        }
2239
2240
0
        return read_until_code_point(
2241
2.88M
            ranges::subrange{it, range.end()},
2242
62.9M
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2242
661k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
_ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2242
16.0k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2242
20.3M
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
_ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2242
11.0k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
_ZZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Line
Count
Source
2242
40.6M
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
_ZZN3scn2v44impl24read_until_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_ENKUlDiE_clEDi
Line
Count
Source
2242
1.27M
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2243
2.88M
    }
2244
3.96M
}
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2219
116k
{
2220
    if constexpr (ranges::contiguous_range<Range> &&
2221
                  ranges::sized_range<Range> &&
2222
                  std::is_same_v<detail::char_t<Range>, char>) {
2223
        auto buf = make_contiguous_buffer(range);
2224
        auto it = find_classic_space_narrow_fast(buf.view());
2225
        return ranges::next(range.begin(),
2226
                            ranges::distance(buf.view().begin(), it));
2227
    }
2228
116k
    else {
2229
116k
        auto it = range.begin();
2230
2231
116k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2232
116k
            auto seg = get_contiguous_beginning(range);
2233
116k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2234
116k
                seg_it != seg.end()) {
2235
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2236
0
            }
2237
116k
            ranges::advance(it, seg.size());
2238
116k
        }
2239
2240
0
        return read_until_code_point(
2241
116k
            ranges::subrange{it, range.end()},
2242
116k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2243
116k
    }
2244
116k
}
_ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2219
1.08k
{
2220
    if constexpr (ranges::contiguous_range<Range> &&
2221
                  ranges::sized_range<Range> &&
2222
                  std::is_same_v<detail::char_t<Range>, char>) {
2223
        auto buf = make_contiguous_buffer(range);
2224
        auto it = find_classic_space_narrow_fast(buf.view());
2225
        return ranges::next(range.begin(),
2226
                            ranges::distance(buf.view().begin(), it));
2227
    }
2228
1.08k
    else {
2229
1.08k
        auto it = range.begin();
2230
2231
1.08k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2232
1.08k
            auto seg = get_contiguous_beginning(range);
2233
1.08k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2234
1.08k
                seg_it != seg.end()) {
2235
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2236
0
            }
2237
1.08k
            ranges::advance(it, seg.size());
2238
1.08k
        }
2239
2240
0
        return read_until_code_point(
2241
1.08k
            ranges::subrange{it, range.end()},
2242
1.08k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2243
1.08k
    }
2244
1.08k
}
_ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2219
185k
{
2220
    if constexpr (ranges::contiguous_range<Range> &&
2221
                  ranges::sized_range<Range> &&
2222
185k
                  std::is_same_v<detail::char_t<Range>, char>) {
2223
185k
        auto buf = make_contiguous_buffer(range);
2224
185k
        auto it = find_classic_space_narrow_fast(buf.view());
2225
185k
        return ranges::next(range.begin(),
2226
185k
                            ranges::distance(buf.view().begin(), it));
2227
    }
2228
    else {
2229
        auto it = range.begin();
2230
2231
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2232
            auto seg = get_contiguous_beginning(range);
2233
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2234
                seg_it != seg.end()) {
2235
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2236
            }
2237
            ranges::advance(it, seg.size());
2238
        }
2239
2240
        return read_until_code_point(
2241
            ranges::subrange{it, range.end()},
2242
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2243
    }
2244
185k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2219
679k
{
2220
    if constexpr (ranges::contiguous_range<Range> &&
2221
                  ranges::sized_range<Range> &&
2222
                  std::is_same_v<detail::char_t<Range>, char>) {
2223
        auto buf = make_contiguous_buffer(range);
2224
        auto it = find_classic_space_narrow_fast(buf.view());
2225
        return ranges::next(range.begin(),
2226
                            ranges::distance(buf.view().begin(), it));
2227
    }
2228
679k
    else {
2229
679k
        auto it = range.begin();
2230
2231
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2232
            auto seg = get_contiguous_beginning(range);
2233
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2234
                seg_it != seg.end()) {
2235
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2236
            }
2237
            ranges::advance(it, seg.size());
2238
        }
2239
2240
679k
        return read_until_code_point(
2241
679k
            ranges::subrange{it, range.end()},
2242
679k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2243
679k
    }
2244
679k
}
_ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2219
624
{
2220
    if constexpr (ranges::contiguous_range<Range> &&
2221
                  ranges::sized_range<Range> &&
2222
                  std::is_same_v<detail::char_t<Range>, char>) {
2223
        auto buf = make_contiguous_buffer(range);
2224
        auto it = find_classic_space_narrow_fast(buf.view());
2225
        return ranges::next(range.begin(),
2226
                            ranges::distance(buf.view().begin(), it));
2227
    }
2228
624
    else {
2229
624
        auto it = range.begin();
2230
2231
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2232
            auto seg = get_contiguous_beginning(range);
2233
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2234
                seg_it != seg.end()) {
2235
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2236
            }
2237
            ranges::advance(it, seg.size());
2238
        }
2239
2240
624
        return read_until_code_point(
2241
624
            ranges::subrange{it, range.end()},
2242
624
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2243
624
    }
2244
624
}
_ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2219
1.36M
{
2220
    if constexpr (ranges::contiguous_range<Range> &&
2221
                  ranges::sized_range<Range> &&
2222
                  std::is_same_v<detail::char_t<Range>, char>) {
2223
        auto buf = make_contiguous_buffer(range);
2224
        auto it = find_classic_space_narrow_fast(buf.view());
2225
        return ranges::next(range.begin(),
2226
                            ranges::distance(buf.view().begin(), it));
2227
    }
2228
1.36M
    else {
2229
1.36M
        auto it = range.begin();
2230
2231
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2232
            auto seg = get_contiguous_beginning(range);
2233
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2234
                seg_it != seg.end()) {
2235
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2236
            }
2237
            ranges::advance(it, seg.size());
2238
        }
2239
2240
1.36M
        return read_until_code_point(
2241
1.36M
            ranges::subrange{it, range.end()},
2242
1.36M
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2243
1.36M
    }
2244
1.36M
}
_ZN3scn2v44impl24read_until_classic_spaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2219
895k
{
2220
    if constexpr (ranges::contiguous_range<Range> &&
2221
                  ranges::sized_range<Range> &&
2222
895k
                  std::is_same_v<detail::char_t<Range>, char>) {
2223
895k
        auto buf = make_contiguous_buffer(range);
2224
895k
        auto it = find_classic_space_narrow_fast(buf.view());
2225
895k
        return ranges::next(range.begin(),
2226
895k
                            ranges::distance(buf.view().begin(), it));
2227
    }
2228
    else {
2229
        auto it = range.begin();
2230
2231
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2232
            auto seg = get_contiguous_beginning(range);
2233
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2234
                seg_it != seg.end()) {
2235
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2236
            }
2237
            ranges::advance(it, seg.size());
2238
        }
2239
2240
        return read_until_code_point(
2241
            ranges::subrange{it, range.end()},
2242
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2243
    }
2244
895k
}
_ZN3scn2v44impl24read_until_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2219
723k
{
2220
    if constexpr (ranges::contiguous_range<Range> &&
2221
                  ranges::sized_range<Range> &&
2222
                  std::is_same_v<detail::char_t<Range>, char>) {
2223
        auto buf = make_contiguous_buffer(range);
2224
        auto it = find_classic_space_narrow_fast(buf.view());
2225
        return ranges::next(range.begin(),
2226
                            ranges::distance(buf.view().begin(), it));
2227
    }
2228
723k
    else {
2229
723k
        auto it = range.begin();
2230
2231
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2232
            auto seg = get_contiguous_beginning(range);
2233
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2234
                seg_it != seg.end()) {
2235
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2236
            }
2237
            ranges::advance(it, seg.size());
2238
        }
2239
2240
723k
        return read_until_code_point(
2241
723k
            ranges::subrange{it, range.end()},
2242
723k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2243
723k
    }
2244
723k
}
2245
2246
template <typename Range>
2247
auto read_while_classic_space(Range range) -> ranges::const_iterator_t<Range>
2248
6.02M
{
2249
    if constexpr (ranges::contiguous_range<Range> &&
2250
                  ranges::sized_range<Range> &&
2251
1.26M
                  std::is_same_v<detail::char_t<Range>, char>) {
2252
1.26M
        auto buf = make_contiguous_buffer(range);
2253
1.26M
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2254
1.26M
        return ranges::next(range.begin(),
2255
1.26M
                            ranges::distance(buf.view().begin(), it));
2256
    }
2257
4.76M
    else {
2258
4.76M
        auto it = range.begin();
2259
2260
4.76M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2261
1.23M
            auto seg = get_contiguous_beginning(range);
2262
1.23M
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2263
1.23M
                seg_it != seg.end()) {
2264
112k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2265
112k
            }
2266
1.11M
            ranges::advance(it, seg.size());
2267
1.11M
        }
2268
2269
9.60M
        return read_while_code_point(range, [](char32_t cp) noexcept {
2270
9.60M
            return detail::is_cp_space(cp);
2271
9.60M
        });
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2269
2.30k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2270
2.30k
            return detail::is_cp_space(cp);
2271
2.30k
        });
_ZZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2269
2.32M
        return read_while_code_point(range, [](char32_t cp) noexcept {
2270
2.32M
            return detail::is_cp_space(cp);
2271
2.32M
        });
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_while_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_ENKUlDiE_clEDi
Line
Count
Source
2269
17.0k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2270
17.0k
            return detail::is_cp_space(cp);
2271
17.0k
        });
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2269
916
        return read_while_code_point(range, [](char32_t cp) noexcept {
2270
916
            return detail::is_cp_space(cp);
2271
916
        });
_ZZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Line
Count
Source
2269
4.45M
        return read_while_code_point(range, [](char32_t cp) noexcept {
2270
4.45M
            return detail::is_cp_space(cp);
2271
4.45M
        });
_ZZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2269
2.80M
        return read_while_code_point(range, [](char32_t cp) noexcept {
2270
2.80M
            return detail::is_cp_space(cp);
2271
2.80M
        });
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2269
4.01k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2270
4.01k
            return detail::is_cp_space(cp);
2271
4.01k
        });
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2269
2.18k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2270
2.18k
            return detail::is_cp_space(cp);
2271
2.18k
        });
2272
4.76M
    }
2273
6.02M
}
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2248
640
{
2249
    if constexpr (ranges::contiguous_range<Range> &&
2250
                  ranges::sized_range<Range> &&
2251
                  std::is_same_v<detail::char_t<Range>, char>) {
2252
        auto buf = make_contiguous_buffer(range);
2253
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2254
        return ranges::next(range.begin(),
2255
                            ranges::distance(buf.view().begin(), it));
2256
    }
2257
640
    else {
2258
640
        auto it = range.begin();
2259
2260
640
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2261
640
            auto seg = get_contiguous_beginning(range);
2262
640
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2263
640
                seg_it != seg.end()) {
2264
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2265
0
            }
2266
640
            ranges::advance(it, seg.size());
2267
640
        }
2268
2269
0
        return read_while_code_point(range, [](char32_t cp) noexcept {
2270
640
            return detail::is_cp_space(cp);
2271
640
        });
2272
640
    }
2273
640
}
_ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2248
1.25M
{
2249
    if constexpr (ranges::contiguous_range<Range> &&
2250
                  ranges::sized_range<Range> &&
2251
1.25M
                  std::is_same_v<detail::char_t<Range>, char>) {
2252
1.25M
        auto buf = make_contiguous_buffer(range);
2253
1.25M
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2254
1.25M
        return ranges::next(range.begin(),
2255
1.25M
                            ranges::distance(buf.view().begin(), it));
2256
    }
2257
    else {
2258
        auto it = range.begin();
2259
2260
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2261
            auto seg = get_contiguous_beginning(range);
2262
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2263
                seg_it != seg.end()) {
2264
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2265
            }
2266
            ranges::advance(it, seg.size());
2267
        }
2268
2269
        return read_while_code_point(range, [](char32_t cp) noexcept {
2270
            return detail::is_cp_space(cp);
2271
        });
2272
    }
2273
1.25M
}
_ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2248
1.22M
{
2249
    if constexpr (ranges::contiguous_range<Range> &&
2250
                  ranges::sized_range<Range> &&
2251
                  std::is_same_v<detail::char_t<Range>, char>) {
2252
        auto buf = make_contiguous_buffer(range);
2253
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2254
        return ranges::next(range.begin(),
2255
                            ranges::distance(buf.view().begin(), it));
2256
    }
2257
1.22M
    else {
2258
1.22M
        auto it = range.begin();
2259
2260
1.22M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2261
1.22M
            auto seg = get_contiguous_beginning(range);
2262
1.22M
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2263
1.22M
                seg_it != seg.end()) {
2264
112k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2265
112k
            }
2266
1.11M
            ranges::advance(it, seg.size());
2267
1.11M
        }
2268
2269
0
        return read_while_code_point(range, [](char32_t cp) noexcept {
2270
1.22M
            return detail::is_cp_space(cp);
2271
1.22M
        });
2272
1.22M
    }
2273
1.22M
}
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_
_ZN3scn2v44impl24read_while_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2248
10.2k
{
2249
    if constexpr (ranges::contiguous_range<Range> &&
2250
                  ranges::sized_range<Range> &&
2251
                  std::is_same_v<detail::char_t<Range>, char>) {
2252
        auto buf = make_contiguous_buffer(range);
2253
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2254
        return ranges::next(range.begin(),
2255
                            ranges::distance(buf.view().begin(), it));
2256
    }
2257
10.2k
    else {
2258
10.2k
        auto it = range.begin();
2259
2260
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2261
            auto seg = get_contiguous_beginning(range);
2262
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2263
                seg_it != seg.end()) {
2264
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2265
            }
2266
            ranges::advance(it, seg.size());
2267
        }
2268
2269
10.2k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2270
10.2k
            return detail::is_cp_space(cp);
2271
10.2k
        });
2272
10.2k
    }
2273
10.2k
}
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2248
514
{
2249
    if constexpr (ranges::contiguous_range<Range> &&
2250
                  ranges::sized_range<Range> &&
2251
                  std::is_same_v<detail::char_t<Range>, char>) {
2252
        auto buf = make_contiguous_buffer(range);
2253
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2254
        return ranges::next(range.begin(),
2255
                            ranges::distance(buf.view().begin(), it));
2256
    }
2257
514
    else {
2258
514
        auto it = range.begin();
2259
2260
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2261
            auto seg = get_contiguous_beginning(range);
2262
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2263
                seg_it != seg.end()) {
2264
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2265
            }
2266
            ranges::advance(it, seg.size());
2267
        }
2268
2269
514
        return read_while_code_point(range, [](char32_t cp) noexcept {
2270
514
            return detail::is_cp_space(cp);
2271
514
        });
2272
514
    }
2273
514
}
_ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2248
2.10M
{
2249
    if constexpr (ranges::contiguous_range<Range> &&
2250
                  ranges::sized_range<Range> &&
2251
                  std::is_same_v<detail::char_t<Range>, char>) {
2252
        auto buf = make_contiguous_buffer(range);
2253
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2254
        return ranges::next(range.begin(),
2255
                            ranges::distance(buf.view().begin(), it));
2256
    }
2257
2.10M
    else {
2258
2.10M
        auto it = range.begin();
2259
2260
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2261
            auto seg = get_contiguous_beginning(range);
2262
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2263
                seg_it != seg.end()) {
2264
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2265
            }
2266
            ranges::advance(it, seg.size());
2267
        }
2268
2269
2.10M
        return read_while_code_point(range, [](char32_t cp) noexcept {
2270
2.10M
            return detail::is_cp_space(cp);
2271
2.10M
        });
2272
2.10M
    }
2273
2.10M
}
_ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2248
1.40M
{
2249
    if constexpr (ranges::contiguous_range<Range> &&
2250
                  ranges::sized_range<Range> &&
2251
                  std::is_same_v<detail::char_t<Range>, char>) {
2252
        auto buf = make_contiguous_buffer(range);
2253
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2254
        return ranges::next(range.begin(),
2255
                            ranges::distance(buf.view().begin(), it));
2256
    }
2257
1.40M
    else {
2258
1.40M
        auto it = range.begin();
2259
2260
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2261
            auto seg = get_contiguous_beginning(range);
2262
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2263
                seg_it != seg.end()) {
2264
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2265
            }
2266
            ranges::advance(it, seg.size());
2267
        }
2268
2269
1.40M
        return read_while_code_point(range, [](char32_t cp) noexcept {
2270
1.40M
            return detail::is_cp_space(cp);
2271
1.40M
        });
2272
1.40M
    }
2273
1.40M
}
_ZN3scn2v44impl24read_while_classic_spaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2248
8.46k
{
2249
    if constexpr (ranges::contiguous_range<Range> &&
2250
                  ranges::sized_range<Range> &&
2251
8.46k
                  std::is_same_v<detail::char_t<Range>, char>) {
2252
8.46k
        auto buf = make_contiguous_buffer(range);
2253
8.46k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2254
8.46k
        return ranges::next(range.begin(),
2255
8.46k
                            ranges::distance(buf.view().begin(), it));
2256
    }
2257
    else {
2258
        auto it = range.begin();
2259
2260
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2261
            auto seg = get_contiguous_beginning(range);
2262
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2263
                seg_it != seg.end()) {
2264
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2265
            }
2266
            ranges::advance(it, seg.size());
2267
        }
2268
2269
        return read_while_code_point(range, [](char32_t cp) noexcept {
2270
            return detail::is_cp_space(cp);
2271
        });
2272
    }
2273
8.46k
}
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2248
2.55k
{
2249
    if constexpr (ranges::contiguous_range<Range> &&
2250
                  ranges::sized_range<Range> &&
2251
                  std::is_same_v<detail::char_t<Range>, char>) {
2252
        auto buf = make_contiguous_buffer(range);
2253
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2254
        return ranges::next(range.begin(),
2255
                            ranges::distance(buf.view().begin(), it));
2256
    }
2257
2.55k
    else {
2258
2.55k
        auto it = range.begin();
2259
2260
2.55k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2261
2.55k
            auto seg = get_contiguous_beginning(range);
2262
2.55k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2263
2.55k
                seg_it != seg.end()) {
2264
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2265
0
            }
2266
2.55k
            ranges::advance(it, seg.size());
2267
2.55k
        }
2268
2269
0
        return read_while_code_point(range, [](char32_t cp) noexcept {
2270
2.55k
            return detail::is_cp_space(cp);
2271
2.55k
        });
2272
2.55k
    }
2273
2.55k
}
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2248
1.67k
{
2249
    if constexpr (ranges::contiguous_range<Range> &&
2250
                  ranges::sized_range<Range> &&
2251
                  std::is_same_v<detail::char_t<Range>, char>) {
2252
        auto buf = make_contiguous_buffer(range);
2253
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2254
        return ranges::next(range.begin(),
2255
                            ranges::distance(buf.view().begin(), it));
2256
    }
2257
1.67k
    else {
2258
1.67k
        auto it = range.begin();
2259
2260
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2261
            auto seg = get_contiguous_beginning(range);
2262
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2263
                seg_it != seg.end()) {
2264
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2265
            }
2266
            ranges::advance(it, seg.size());
2267
        }
2268
2269
1.67k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2270
1.67k
            return detail::is_cp_space(cp);
2271
1.67k
        });
2272
1.67k
    }
2273
1.67k
}
2274
2275
template <typename Range>
2276
auto read_matching_code_unit(Range range, detail::char_t<Range> ch)
2277
    -> parse_expected<ranges::const_iterator_t<Range>>
2278
1.50M
{
2279
1.50M
    auto it = read_code_unit(range);
2280
1.50M
    if (SCN_UNLIKELY(!it)) {
2281
9.22k
        return unexpected(make_eof_parse_error(it.error()));
2282
9.22k
    }
2283
2284
1.49M
    if (SCN_UNLIKELY(*range.begin() !=
2285
1.49M
                     static_cast<detail::char_t<Range>>(ch))) {
2286
1.28M
        return unexpected(parse_error::error);
2287
1.28M
    }
2288
2289
212k
    return *it;
2290
1.49M
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NDTcl4implISO_EEE4typeE
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NDTcl4implISG_EEE4typeE
Line
Count
Source
2278
650k
{
2279
650k
    auto it = read_code_unit(range);
2280
650k
    if (SCN_UNLIKELY(!it)) {
2281
5.53k
        return unexpected(make_eof_parse_error(it.error()));
2282
5.53k
    }
2283
2284
645k
    if (SCN_UNLIKELY(*range.begin() !=
2285
645k
                     static_cast<detail::char_t<Range>>(ch))) {
2286
516k
        return unexpected(parse_error::error);
2287
516k
    }
2288
2289
128k
    return *it;
2290
645k
}
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NDTcl4implISL_EEE4typeE
Line
Count
Source
2278
40
{
2279
40
    auto it = read_code_unit(range);
2280
40
    if (SCN_UNLIKELY(!it)) {
2281
0
        return unexpected(make_eof_parse_error(it.error()));
2282
0
    }
2283
2284
40
    if (SCN_UNLIKELY(*range.begin() !=
2285
40
                     static_cast<detail::char_t<Range>>(ch))) {
2286
40
        return unexpected(parse_error::error);
2287
40
    }
2288
2289
0
    return *it;
2290
40
}
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NDTcl4implISD_EEE4typeE
Line
Count
Source
2278
290k
{
2279
290k
    auto it = read_code_unit(range);
2280
290k
    if (SCN_UNLIKELY(!it)) {
2281
2.40k
        return unexpected(make_eof_parse_error(it.error()));
2282
2.40k
    }
2283
2284
288k
    if (SCN_UNLIKELY(*range.begin() !=
2285
288k
                     static_cast<detail::char_t<Range>>(ch))) {
2286
213k
        return unexpected(parse_error::error);
2287
213k
    }
2288
2289
75.0k
    return *it;
2290
288k
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NDTcl4implISO_EEE4typeE
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NDTcl4implISG_EEE4typeE
Line
Count
Source
2278
407k
{
2279
407k
    auto it = read_code_unit(range);
2280
407k
    if (SCN_UNLIKELY(!it)) {
2281
978
        return unexpected(make_eof_parse_error(it.error()));
2282
978
    }
2283
2284
406k
    if (SCN_UNLIKELY(*range.begin() !=
2285
406k
                     static_cast<detail::char_t<Range>>(ch))) {
2286
400k
        return unexpected(parse_error::error);
2287
400k
    }
2288
2289
5.96k
    return *it;
2290
406k
}
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NDTcl4implISL_EEE4typeE
Line
Count
Source
2278
90
{
2279
90
    auto it = read_code_unit(range);
2280
90
    if (SCN_UNLIKELY(!it)) {
2281
8
        return unexpected(make_eof_parse_error(it.error()));
2282
8
    }
2283
2284
82
    if (SCN_UNLIKELY(*range.begin() !=
2285
82
                     static_cast<detail::char_t<Range>>(ch))) {
2286
64
        return unexpected(parse_error::error);
2287
64
    }
2288
2289
18
    return *it;
2290
82
}
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NDTcl4implISD_EEE4typeE
Line
Count
Source
2278
155k
{
2279
155k
    auto it = read_code_unit(range);
2280
155k
    if (SCN_UNLIKELY(!it)) {
2281
306
        return unexpected(make_eof_parse_error(it.error()));
2282
306
    }
2283
2284
154k
    if (SCN_UNLIKELY(*range.begin() !=
2285
154k
                     static_cast<detail::char_t<Range>>(ch))) {
2286
152k
        return unexpected(parse_error::error);
2287
152k
    }
2288
2289
2.51k
    return *it;
2290
154k
}
_ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NDTcl4implISF_EEE4typeE
Line
Count
Source
2278
792
{
2279
792
    auto it = read_code_unit(range);
2280
792
    if (SCN_UNLIKELY(!it)) {
2281
0
        return unexpected(make_eof_parse_error(it.error()));
2282
0
    }
2283
2284
792
    if (SCN_UNLIKELY(*range.begin() !=
2285
792
                     static_cast<detail::char_t<Range>>(ch))) {
2286
792
        return unexpected(parse_error::error);
2287
792
    }
2288
2289
0
    return *it;
2290
792
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NDTcl4implISI_EEE4typeE
_ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NDTcl4implISF_EEE4typeE
Line
Count
Source
2278
494
{
2279
494
    auto it = read_code_unit(range);
2280
494
    if (SCN_UNLIKELY(!it)) {
2281
0
        return unexpected(make_eof_parse_error(it.error()));
2282
0
    }
2283
2284
494
    if (SCN_UNLIKELY(*range.begin() !=
2285
494
                     static_cast<detail::char_t<Range>>(ch))) {
2286
472
        return unexpected(parse_error::error);
2287
472
    }
2288
2289
22
    return *it;
2290
494
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NDTcl4implISI_EEE4typeE
2291
2292
template <typename Range>
2293
auto read_matching_code_point(Range range, char32_t cp)
2294
    -> parse_expected<ranges::const_iterator_t<Range>>
2295
{
2296
    auto val = read_code_point_into(range);
2297
    if (!val.is_valid()) {
2298
        return unexpected(parse_error::error);
2299
    }
2300
    auto decoded_cp = decode_code_point_exhaustive(val.codepoint);
2301
    if (SCN_UNLIKELY(cp != decoded_cp)) {
2302
        return unexpected(parse_error::error);
2303
    }
2304
    return val.iterator;
2305
}
2306
2307
template <typename Range>
2308
auto read_matching_string(Range range,
2309
                          std::basic_string_view<detail::char_t<Range>> str)
2310
    -> parse_expected<ranges::const_iterator_t<Range>>
2311
116
{
2312
116
    SCN_TRY(it, read_exactly_n_code_units(
2313
76
                    range, static_cast<std::ptrdiff_t>(str.size()))
2314
76
                    .transform_error(make_eof_parse_error));
2315
2316
76
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2317
76
    if (SCN_UNLIKELY(sv.view() != str)) {
2318
76
        return unexpected(parse_error::error);
2319
76
    }
2320
0
    return it;
2321
76
}
_ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewINDTcl4implISF_EEE4typeENSD_11char_traitsISN_EEEE
Line
Count
Source
2311
32
{
2312
32
    SCN_TRY(it, read_exactly_n_code_units(
2313
14
                    range, static_cast<std::ptrdiff_t>(str.size()))
2314
14
                    .transform_error(make_eof_parse_error));
2315
2316
14
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2317
14
    if (SCN_UNLIKELY(sv.view() != str)) {
2318
14
        return unexpected(parse_error::error);
2319
14
    }
2320
0
    return it;
2321
14
}
_ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewINDTcl4implISD_EEE4typeENSB_11char_traitsISL_EEEE
Line
Count
Source
2311
28
{
2312
28
    SCN_TRY(it, read_exactly_n_code_units(
2313
26
                    range, static_cast<std::ptrdiff_t>(str.size()))
2314
26
                    .transform_error(make_eof_parse_error));
2315
2316
26
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2317
26
    if (SCN_UNLIKELY(sv.view() != str)) {
2318
26
        return unexpected(parse_error::error);
2319
26
    }
2320
0
    return it;
2321
26
}
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewINDTcl4implISI_EEE4typeENSG_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewINDTcl4implISG_EEE4typeENSE_11char_traitsISO_EEEE
_ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewINDTcl4implISF_EEE4typeENSD_11char_traitsISN_EEEE
Line
Count
Source
2311
28
{
2312
28
    SCN_TRY(it, read_exactly_n_code_units(
2313
10
                    range, static_cast<std::ptrdiff_t>(str.size()))
2314
10
                    .transform_error(make_eof_parse_error));
2315
2316
10
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2317
10
    if (SCN_UNLIKELY(sv.view() != str)) {
2318
10
        return unexpected(parse_error::error);
2319
10
    }
2320
0
    return it;
2321
10
}
_ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewINDTcl4implISD_EEE4typeENSB_11char_traitsISL_EEEE
Line
Count
Source
2311
28
{
2312
28
    SCN_TRY(it, read_exactly_n_code_units(
2313
26
                    range, static_cast<std::ptrdiff_t>(str.size()))
2314
26
                    .transform_error(make_eof_parse_error));
2315
2316
26
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2317
26
    if (SCN_UNLIKELY(sv.view() != str)) {
2318
26
        return unexpected(parse_error::error);
2319
26
    }
2320
0
    return it;
2321
26
}
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewINDTcl4implISI_EEE4typeENSG_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewINDTcl4implISG_EEE4typeENSE_11char_traitsISO_EEEE
2322
2323
template <typename Range>
2324
auto read_matching_string_classic(Range range, std::string_view str)
2325
    -> parse_expected<ranges::const_iterator_t<Range>>
2326
5.55k
{
2327
5.55k
    SCN_TRY(it, read_exactly_n_code_units(
2328
4.99k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2329
4.99k
                    .transform_error(make_eof_parse_error));
2330
2331
4.99k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2332
2.78k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2333
2.78k
        if (SCN_UNLIKELY(sv.view() != str)) {
2334
2.78k
            return unexpected(parse_error::error);
2335
2.78k
        }
2336
0
        return it;
2337
    }
2338
2.21k
    else {
2339
2.21k
        auto range_it = range.begin();
2340
2.21k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2341
2.21k
            if (SCN_UNLIKELY(*range_it !=
2342
2.21k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2343
2.21k
                return unexpected(parse_error::error);
2344
2.21k
            }
2345
2.21k
        }
2346
0
        return it;
2347
2.21k
    }
2348
4.99k
}
_ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2326
2.08k
{
2327
2.08k
    SCN_TRY(it, read_exactly_n_code_units(
2328
1.98k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2329
1.98k
                    .transform_error(make_eof_parse_error));
2330
2331
1.98k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2332
1.98k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2333
1.98k
        if (SCN_UNLIKELY(sv.view() != str)) {
2334
1.98k
            return unexpected(parse_error::error);
2335
1.98k
        }
2336
0
        return it;
2337
    }
2338
    else {
2339
        auto range_it = range.begin();
2340
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2341
            if (SCN_UNLIKELY(*range_it !=
2342
                             static_cast<detail::char_t<Range>>(str[i]))) {
2343
                return unexpected(parse_error::error);
2344
            }
2345
        }
2346
        return it;
2347
    }
2348
1.98k
}
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2326
972
{
2327
972
    SCN_TRY(it, read_exactly_n_code_units(
2328
800
                    range, static_cast<std::ptrdiff_t>(str.size()))
2329
800
                    .transform_error(make_eof_parse_error));
2330
2331
800
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2332
800
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2333
800
        if (SCN_UNLIKELY(sv.view() != str)) {
2334
800
            return unexpected(parse_error::error);
2335
800
        }
2336
0
        return it;
2337
    }
2338
    else {
2339
        auto range_it = range.begin();
2340
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2341
            if (SCN_UNLIKELY(*range_it !=
2342
                             static_cast<detail::char_t<Range>>(str[i]))) {
2343
                return unexpected(parse_error::error);
2344
            }
2345
        }
2346
        return it;
2347
    }
2348
800
}
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
_ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2326
2.01k
{
2327
2.01k
    SCN_TRY(it, read_exactly_n_code_units(
2328
1.82k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2329
1.82k
                    .transform_error(make_eof_parse_error));
2330
2331
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2332
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2333
        if (SCN_UNLIKELY(sv.view() != str)) {
2334
            return unexpected(parse_error::error);
2335
        }
2336
        return it;
2337
    }
2338
1.82k
    else {
2339
1.82k
        auto range_it = range.begin();
2340
1.82k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2341
1.82k
            if (SCN_UNLIKELY(*range_it !=
2342
1.82k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2343
1.82k
                return unexpected(parse_error::error);
2344
1.82k
            }
2345
1.82k
        }
2346
0
        return it;
2347
1.82k
    }
2348
1.82k
}
_ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2326
488
{
2327
488
    SCN_TRY(it, read_exactly_n_code_units(
2328
388
                    range, static_cast<std::ptrdiff_t>(str.size()))
2329
388
                    .transform_error(make_eof_parse_error));
2330
2331
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2332
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2333
        if (SCN_UNLIKELY(sv.view() != str)) {
2334
            return unexpected(parse_error::error);
2335
        }
2336
        return it;
2337
    }
2338
388
    else {
2339
388
        auto range_it = range.begin();
2340
388
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2341
388
            if (SCN_UNLIKELY(*range_it !=
2342
388
                             static_cast<detail::char_t<Range>>(str[i]))) {
2343
388
                return unexpected(parse_error::error);
2344
388
            }
2345
388
        }
2346
0
        return it;
2347
388
    }
2348
388
}
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
2349
2350
// Ripped from fast_float
2351
constexpr bool fast_streq_nocase(const char* a, const char* b, size_t len)
2352
1.75M
{
2353
1.75M
    unsigned char running_diff{0};
2354
6.36M
    for (size_t i = 0; i < len; ++i) {
2355
4.60M
        running_diff |= static_cast<unsigned char>(a[i] ^ b[i]);
2356
4.60M
    }
2357
1.75M
    return running_diff == 0 || running_diff == 32;
2358
1.75M
}
2359
2360
template <typename Range>
2361
auto read_matching_string_classic_nocase(Range range, std::string_view str)
2362
    -> parse_expected<ranges::const_iterator_t<Range>>
2363
6.52M
{
2364
6.52M
    using char_type = detail::char_t<Range>;
2365
2366
    if constexpr (ranges::contiguous_range<Range> &&
2367
1.79M
                  std::is_same_v<char_type, char>) {
2368
1.79M
        if (range.size() < str.size()) {
2369
40.0k
            return unexpected(make_eof_parse_error(eof_error::eof));
2370
40.0k
        }
2371
1.75M
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2372
1.69M
            return unexpected(parse_error::error);
2373
1.69M
        }
2374
61.3k
        return ranges::next(range.begin(), str.size());
2375
    }
2376
4.73M
    else {
2377
5.37M
        auto ascii_tolower = [](char_type ch) -> char_type {
2378
5.37M
            if (ch < 'A' || ch > 'Z') {
2379
5.27M
                return ch;
2380
5.27M
            }
2381
101k
            return static_cast<char_type>(ch +
2382
101k
                                          static_cast<char_type>('a' - 'A'));
2383
5.37M
        };
Unexecuted instantiation: _ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEEENKUlcE_clEc
_ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
2377
2.23M
        auto ascii_tolower = [](char_type ch) -> char_type {
2378
2.23M
            if (ch < 'A' || ch > 'Z') {
2379
2.15M
                return ch;
2380
2.15M
            }
2381
71.7k
            return static_cast<char_type>(ch +
2382
71.7k
                                          static_cast<char_type>('a' - 'A'));
2383
2.23M
        };
_ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
2377
1.38k
        auto ascii_tolower = [](char_type ch) -> char_type {
2378
1.38k
            if (ch < 'A' || ch > 'Z') {
2379
1.38k
                return ch;
2380
1.38k
            }
2381
0
            return static_cast<char_type>(ch +
2382
0
                                          static_cast<char_type>('a' - 'A'));
2383
1.38k
        };
Unexecuted instantiation: _ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEEENKUlwE_clEw
_ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2377
1.56M
        auto ascii_tolower = [](char_type ch) -> char_type {
2378
1.56M
            if (ch < 'A' || ch > 'Z') {
2379
1.55M
                return ch;
2380
1.55M
            }
2381
14.7k
            return static_cast<char_type>(ch +
2382
14.7k
                                          static_cast<char_type>('a' - 'A'));
2383
1.56M
        };
_ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2377
938
        auto ascii_tolower = [](char_type ch) -> char_type {
2378
938
            if (ch < 'A' || ch > 'Z') {
2379
938
                return ch;
2380
938
            }
2381
0
            return static_cast<char_type>(ch +
2382
0
                                          static_cast<char_type>('a' - 'A'));
2383
938
        };
_ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2377
1.57M
        auto ascii_tolower = [](char_type ch) -> char_type {
2378
1.57M
            if (ch < 'A' || ch > 'Z') {
2379
1.55M
                return ch;
2380
1.55M
            }
2381
14.8k
            return static_cast<char_type>(ch +
2382
14.8k
                                          static_cast<char_type>('a' - 'A'));
2383
1.57M
        };
2384
2385
4.73M
        SCN_TRY(it, read_exactly_n_code_units(
2386
4.54M
                        range, static_cast<std::ptrdiff_t>(str.size()))
2387
4.54M
                        .transform_error(make_eof_parse_error));
2388
2389
4.54M
        if (SCN_UNLIKELY(!std::equal(
2390
4.54M
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2391
4.54M
                    return ascii_tolower(a) ==
2392
4.54M
                           static_cast<detail::char_t<Range>>(b);
2393
4.54M
                }))) {
2394
4.47M
            return unexpected(parse_error::error);
2395
4.47M
        }
2396
2397
69.8k
        return it;
2398
4.54M
    }
2399
6.52M
}
Unexecuted instantiation: _ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Line
Count
Source
2363
1.88M
{
2364
1.88M
    using char_type = detail::char_t<Range>;
2365
2366
    if constexpr (ranges::contiguous_range<Range> &&
2367
                  std::is_same_v<char_type, char>) {
2368
        if (range.size() < str.size()) {
2369
            return unexpected(make_eof_parse_error(eof_error::eof));
2370
        }
2371
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2372
            return unexpected(parse_error::error);
2373
        }
2374
        return ranges::next(range.begin(), str.size());
2375
    }
2376
1.88M
    else {
2377
1.88M
        auto ascii_tolower = [](char_type ch) -> char_type {
2378
1.88M
            if (ch < 'A' || ch > 'Z') {
2379
1.88M
                return ch;
2380
1.88M
            }
2381
1.88M
            return static_cast<char_type>(ch +
2382
1.88M
                                          static_cast<char_type>('a' - 'A'));
2383
1.88M
        };
2384
2385
1.88M
        SCN_TRY(it, read_exactly_n_code_units(
2386
1.84M
                        range, static_cast<std::ptrdiff_t>(str.size()))
2387
1.84M
                        .transform_error(make_eof_parse_error));
2388
2389
1.84M
        if (SCN_UNLIKELY(!std::equal(
2390
1.84M
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2391
1.84M
                    return ascii_tolower(a) ==
2392
1.84M
                           static_cast<detail::char_t<Range>>(b);
2393
1.84M
                }))) {
2394
1.77M
            return unexpected(parse_error::error);
2395
1.77M
        }
2396
2397
68.5k
        return it;
2398
1.84M
    }
2399
1.88M
}
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2363
1.65k
{
2364
1.65k
    using char_type = detail::char_t<Range>;
2365
2366
    if constexpr (ranges::contiguous_range<Range> &&
2367
                  std::is_same_v<char_type, char>) {
2368
        if (range.size() < str.size()) {
2369
            return unexpected(make_eof_parse_error(eof_error::eof));
2370
        }
2371
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2372
            return unexpected(parse_error::error);
2373
        }
2374
        return ranges::next(range.begin(), str.size());
2375
    }
2376
1.65k
    else {
2377
1.65k
        auto ascii_tolower = [](char_type ch) -> char_type {
2378
1.65k
            if (ch < 'A' || ch > 'Z') {
2379
1.65k
                return ch;
2380
1.65k
            }
2381
1.65k
            return static_cast<char_type>(ch +
2382
1.65k
                                          static_cast<char_type>('a' - 'A'));
2383
1.65k
        };
2384
2385
1.65k
        SCN_TRY(it, read_exactly_n_code_units(
2386
1.38k
                        range, static_cast<std::ptrdiff_t>(str.size()))
2387
1.38k
                        .transform_error(make_eof_parse_error));
2388
2389
1.38k
        if (SCN_UNLIKELY(!std::equal(
2390
1.38k
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2391
1.38k
                    return ascii_tolower(a) ==
2392
1.38k
                           static_cast<detail::char_t<Range>>(b);
2393
1.38k
                }))) {
2394
1.38k
            return unexpected(parse_error::error);
2395
1.38k
        }
2396
2397
0
        return it;
2398
1.38k
    }
2399
1.65k
}
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2363
1.79M
{
2364
1.79M
    using char_type = detail::char_t<Range>;
2365
2366
    if constexpr (ranges::contiguous_range<Range> &&
2367
1.79M
                  std::is_same_v<char_type, char>) {
2368
1.79M
        if (range.size() < str.size()) {
2369
40.0k
            return unexpected(make_eof_parse_error(eof_error::eof));
2370
40.0k
        }
2371
1.75M
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2372
1.69M
            return unexpected(parse_error::error);
2373
1.69M
        }
2374
61.3k
        return ranges::next(range.begin(), str.size());
2375
    }
2376
    else {
2377
        auto ascii_tolower = [](char_type ch) -> char_type {
2378
            if (ch < 'A' || ch > 'Z') {
2379
                return ch;
2380
            }
2381
            return static_cast<char_type>(ch +
2382
                                          static_cast<char_type>('a' - 'A'));
2383
        };
2384
2385
        SCN_TRY(it, read_exactly_n_code_units(
2386
                        range, static_cast<std::ptrdiff_t>(str.size()))
2387
                        .transform_error(make_eof_parse_error));
2388
2389
        if (SCN_UNLIKELY(!std::equal(
2390
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2391
                    return ascii_tolower(a) ==
2392
                           static_cast<detail::char_t<Range>>(b);
2393
                }))) {
2394
            return unexpected(parse_error::error);
2395
        }
2396
2397
        return it;
2398
    }
2399
1.79M
}
Unexecuted instantiation: _ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Line
Count
Source
2363
1.41M
{
2364
1.41M
    using char_type = detail::char_t<Range>;
2365
2366
    if constexpr (ranges::contiguous_range<Range> &&
2367
                  std::is_same_v<char_type, char>) {
2368
        if (range.size() < str.size()) {
2369
            return unexpected(make_eof_parse_error(eof_error::eof));
2370
        }
2371
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2372
            return unexpected(parse_error::error);
2373
        }
2374
        return ranges::next(range.begin(), str.size());
2375
    }
2376
1.41M
    else {
2377
1.41M
        auto ascii_tolower = [](char_type ch) -> char_type {
2378
1.41M
            if (ch < 'A' || ch > 'Z') {
2379
1.41M
                return ch;
2380
1.41M
            }
2381
1.41M
            return static_cast<char_type>(ch +
2382
1.41M
                                          static_cast<char_type>('a' - 'A'));
2383
1.41M
        };
2384
2385
1.41M
        SCN_TRY(it, read_exactly_n_code_units(
2386
1.34M
                        range, static_cast<std::ptrdiff_t>(str.size()))
2387
1.34M
                        .transform_error(make_eof_parse_error));
2388
2389
1.34M
        if (SCN_UNLIKELY(!std::equal(
2390
1.34M
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2391
1.34M
                    return ascii_tolower(a) ==
2392
1.34M
                           static_cast<detail::char_t<Range>>(b);
2393
1.34M
                }))) {
2394
1.34M
            return unexpected(parse_error::error);
2395
1.34M
        }
2396
2397
674
        return it;
2398
1.34M
    }
2399
1.41M
}
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2363
1.10k
{
2364
1.10k
    using char_type = detail::char_t<Range>;
2365
2366
    if constexpr (ranges::contiguous_range<Range> &&
2367
                  std::is_same_v<char_type, char>) {
2368
        if (range.size() < str.size()) {
2369
            return unexpected(make_eof_parse_error(eof_error::eof));
2370
        }
2371
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2372
            return unexpected(parse_error::error);
2373
        }
2374
        return ranges::next(range.begin(), str.size());
2375
    }
2376
1.10k
    else {
2377
1.10k
        auto ascii_tolower = [](char_type ch) -> char_type {
2378
1.10k
            if (ch < 'A' || ch > 'Z') {
2379
1.10k
                return ch;
2380
1.10k
            }
2381
1.10k
            return static_cast<char_type>(ch +
2382
1.10k
                                          static_cast<char_type>('a' - 'A'));
2383
1.10k
        };
2384
2385
1.10k
        SCN_TRY(it, read_exactly_n_code_units(
2386
896
                        range, static_cast<std::ptrdiff_t>(str.size()))
2387
896
                        .transform_error(make_eof_parse_error));
2388
2389
896
        if (SCN_UNLIKELY(!std::equal(
2390
896
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2391
896
                    return ascii_tolower(a) ==
2392
896
                           static_cast<detail::char_t<Range>>(b);
2393
896
                }))) {
2394
896
            return unexpected(parse_error::error);
2395
896
        }
2396
2397
0
        return it;
2398
896
    }
2399
1.10k
}
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2363
1.42M
{
2364
1.42M
    using char_type = detail::char_t<Range>;
2365
2366
    if constexpr (ranges::contiguous_range<Range> &&
2367
                  std::is_same_v<char_type, char>) {
2368
        if (range.size() < str.size()) {
2369
            return unexpected(make_eof_parse_error(eof_error::eof));
2370
        }
2371
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2372
            return unexpected(parse_error::error);
2373
        }
2374
        return ranges::next(range.begin(), str.size());
2375
    }
2376
1.42M
    else {
2377
1.42M
        auto ascii_tolower = [](char_type ch) -> char_type {
2378
1.42M
            if (ch < 'A' || ch > 'Z') {
2379
1.42M
                return ch;
2380
1.42M
            }
2381
1.42M
            return static_cast<char_type>(ch +
2382
1.42M
                                          static_cast<char_type>('a' - 'A'));
2383
1.42M
        };
2384
2385
1.42M
        SCN_TRY(it, read_exactly_n_code_units(
2386
1.35M
                        range, static_cast<std::ptrdiff_t>(str.size()))
2387
1.35M
                        .transform_error(make_eof_parse_error));
2388
2389
1.35M
        if (SCN_UNLIKELY(!std::equal(
2390
1.35M
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2391
1.35M
                    return ascii_tolower(a) ==
2392
1.35M
                           static_cast<detail::char_t<Range>>(b);
2393
1.35M
                }))) {
2394
1.35M
            return unexpected(parse_error::error);
2395
1.35M
        }
2396
2397
674
        return it;
2398
1.35M
    }
2399
1.42M
}
2400
2401
template <typename Range>
2402
auto read_one_of_code_unit(Range range, std::string_view str)
2403
    -> parse_expected<ranges::const_iterator_t<Range>>
2404
4.25M
{
2405
4.25M
    auto it = read_code_unit(range);
2406
4.25M
    if (SCN_UNLIKELY(!it)) {
2407
9.35k
        return unexpected(make_eof_parse_error(it.error()));
2408
9.35k
    }
2409
2410
8.27M
    for (auto ch : str) {
2411
8.27M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2412
487k
            return *it;
2413
487k
        }
2414
8.27M
    }
2415
2416
3.75M
    return unexpected(parse_error::error);
2417
4.24M
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
_ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Line
Count
Source
2404
1.48M
{
2405
1.48M
    auto it = read_code_unit(range);
2406
1.48M
    if (SCN_UNLIKELY(!it)) {
2407
5.24k
        return unexpected(make_eof_parse_error(it.error()));
2408
5.24k
    }
2409
2410
2.84M
    for (auto ch : str) {
2411
2.84M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2412
238k
            return *it;
2413
238k
        }
2414
2.84M
    }
2415
2416
1.24M
    return unexpected(parse_error::error);
2417
1.47M
}
_ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2404
1.57k
{
2405
1.57k
    auto it = read_code_unit(range);
2406
1.57k
    if (SCN_UNLIKELY(!it)) {
2407
0
        return unexpected(make_eof_parse_error(it.error()));
2408
0
    }
2409
2410
3.15k
    for (auto ch : str) {
2411
3.15k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2412
0
            return *it;
2413
0
        }
2414
3.15k
    }
2415
2416
1.57k
    return unexpected(parse_error::error);
2417
1.57k
}
_ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2404
1.07M
{
2405
1.07M
    auto it = read_code_unit(range);
2406
1.07M
    if (SCN_UNLIKELY(!it)) {
2407
922
        return unexpected(make_eof_parse_error(it.error()));
2408
922
    }
2409
2410
2.05M
    for (auto ch : str) {
2411
2.05M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2412
198k
            return *it;
2413
198k
        }
2414
2.05M
    }
2415
2416
872k
    return unexpected(parse_error::error);
2417
1.07M
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
_ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Line
Count
Source
2404
970k
{
2405
970k
    auto it = read_code_unit(range);
2406
970k
    if (SCN_UNLIKELY(!it)) {
2407
1.22k
        return unexpected(make_eof_parse_error(it.error()));
2408
1.22k
    }
2409
2410
1.93M
    for (auto ch : str) {
2411
1.93M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2412
31.0k
            return *it;
2413
31.0k
        }
2414
1.93M
    }
2415
2416
938k
    return unexpected(parse_error::error);
2417
969k
}
_ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2404
1.01k
{
2405
1.01k
    auto it = read_code_unit(range);
2406
1.01k
    if (SCN_UNLIKELY(!it)) {
2407
0
        return unexpected(make_eof_parse_error(it.error()));
2408
0
    }
2409
2410
2.02k
    for (auto ch : str) {
2411
2.02k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2412
0
            return *it;
2413
0
        }
2414
2.02k
    }
2415
2416
1.01k
    return unexpected(parse_error::error);
2417
1.01k
}
_ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2404
710k
{
2405
710k
    auto it = read_code_unit(range);
2406
710k
    if (SCN_UNLIKELY(!it)) {
2407
266
        return unexpected(make_eof_parse_error(it.error()));
2408
266
    }
2409
2410
1.41M
    for (auto ch : str) {
2411
1.41M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2412
19.5k
            return *it;
2413
19.5k
        }
2414
1.41M
    }
2415
2416
690k
    return unexpected(parse_error::error);
2417
710k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
_ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2404
20
{
2405
20
    auto it = read_code_unit(range);
2406
20
    if (SCN_UNLIKELY(!it)) {
2407
6
        return unexpected(make_eof_parse_error(it.error()));
2408
6
    }
2409
2410
28
    for (auto ch : str) {
2411
28
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2412
0
            return *it;
2413
0
        }
2414
28
    }
2415
2416
14
    return unexpected(parse_error::error);
2417
14
}
_ZN3scn2v44impl21read_one_of_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_14parse_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_S7_
Line
Count
Source
2404
11.9k
{
2405
11.9k
    auto it = read_code_unit(range);
2406
11.9k
    if (SCN_UNLIKELY(!it)) {
2407
1.69k
        return unexpected(make_eof_parse_error(it.error()));
2408
1.69k
    }
2409
2410
20.5k
    for (auto ch : str) {
2411
20.5k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2412
0
            return *it;
2413
0
        }
2414
20.5k
    }
2415
2416
10.2k
    return unexpected(parse_error::error);
2417
10.2k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_14parse_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_NS4_IcNS5_IcEEEE
2418
2419
template <typename Range, template <class> class Expected, typename Iterator>
2420
auto apply_opt(Expected<Iterator>&& result, Range range)
2421
    -> std::enable_if_t<detail::is_expected<Expected<Iterator>>::value,
2422
                        ranges::const_iterator_t<Range>>
2423
354k
{
2424
354k
    if (!result) {
2425
319k
        return range.begin();
2426
319k
    }
2427
35.1k
    return *result;
2428
354k
}
Unexecuted instantiation: _ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENS1_14parse_expectedESE_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEEE4typeEOSQ_SS_
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_14parse_expectedESA_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEE4typeEOSI_SK_
Line
Count
Source
2423
125k
{
2424
125k
    if (!result) {
2425
108k
        return range.begin();
2426
108k
    }
2427
17.4k
    return *result;
2428
125k
}
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENS1_14parse_expectedESB_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEEE4typeEOSN_SP_
Line
Count
Source
2423
400
{
2424
400
    if (!result) {
2425
400
        return range.begin();
2426
400
    }
2427
0
    return *result;
2428
400
}
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENS1_14parse_expectedES8_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEEE4typeEOSF_SH_
Line
Count
Source
2423
126k
{
2424
126k
    if (!result) {
2425
109k
        return range.begin();
2426
109k
    }
2427
17.4k
    return *result;
2428
126k
}
Unexecuted instantiation: _ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENS1_14parse_expectedESE_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEEE4typeEOSQ_SS_
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_14parse_expectedESA_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEE4typeEOSI_SK_
Line
Count
Source
2423
49.8k
{
2424
49.8k
    if (!result) {
2425
49.7k
        return range.begin();
2426
49.7k
    }
2427
156
    return *result;
2428
49.8k
}
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENS1_14parse_expectedESB_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEEE4typeEOSN_SP_
Line
Count
Source
2423
264
{
2424
264
    if (!result) {
2425
258
        return range.begin();
2426
258
    }
2427
6
    return *result;
2428
264
}
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENS1_14parse_expectedES8_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEEE4typeEOSF_SH_
Line
Count
Source
2423
50.9k
{
2424
50.9k
    if (!result) {
2425
50.8k
        return range.begin();
2426
50.8k
    }
2427
174
    return *result;
2428
50.9k
}
2429
2430
/////////////////////////////////////////////////////////////////
2431
// Text width calculation
2432
/////////////////////////////////////////////////////////////////
2433
2434
constexpr std::size_t calculate_text_width_for_fmt_v10(char32_t cp)
2435
193k
{
2436
193k
    if (cp >= 0x1100 &&
2437
193k
        (cp <= 0x115f ||  // Hangul Jamo init. consonants
2438
47.0k
         cp == 0x2329 ||  // LEFT-POINTING ANGLE BRACKET
2439
47.0k
         cp == 0x232a ||  // RIGHT-POINTING ANGLE BRACKET
2440
         // CJK ... Yi except IDEOGRAPHIC HALF FILL SPACE:
2441
47.0k
         (cp >= 0x2e80 && cp <= 0xa4cf && cp != 0x303f) ||
2442
47.0k
         (cp >= 0xac00 && cp <= 0xd7a3) ||    // Hangul Syllables
2443
47.0k
         (cp >= 0xf900 && cp <= 0xfaff) ||    // CJK Compatibility Ideographs
2444
47.0k
         (cp >= 0xfe10 && cp <= 0xfe19) ||    // Vertical Forms
2445
47.0k
         (cp >= 0xfe30 && cp <= 0xfe6f) ||    // CJK Compatibility Forms
2446
47.0k
         (cp >= 0xff00 && cp <= 0xff60) ||    // Fullwidth Forms
2447
47.0k
         (cp >= 0xffe0 && cp <= 0xffe6) ||    // Fullwidth Forms
2448
47.0k
         (cp >= 0x20000 && cp <= 0x2fffd) ||  // CJK
2449
47.0k
         (cp >= 0x30000 && cp <= 0x3fffd) ||
2450
         // Miscellaneous Symbols and Pictographs + Emoticons:
2451
47.0k
         (cp >= 0x1f300 && cp <= 0x1f64f) ||
2452
         // Supplemental Symbols and Pictographs:
2453
47.0k
         (cp >= 0x1f900 && cp <= 0x1f9ff))) {
2454
4.68k
        return 2;
2455
4.68k
    }
2456
189k
    return 1;
2457
193k
}
2458
2459
constexpr std::size_t calculate_valid_text_width(char32_t cp)
2460
126k
{
2461
126k
    return calculate_text_width_for_fmt_v10(cp);
2462
126k
}
2463
2464
template <typename CharT>
2465
std::size_t calculate_valid_text_width(std::basic_string_view<CharT> input)
2466
{
2467
    size_t count{0};
2468
    for_each_code_point_valid(input, [&count](char32_t cp) {
2469
        count += calculate_text_width_for_fmt_v10(cp);
2470
    });
2471
    return count;
2472
}
2473
2474
constexpr std::size_t calculate_text_width(char32_t cp)
2475
268
{
2476
268
    return calculate_text_width_for_fmt_v10(cp);
2477
268
}
2478
2479
template <typename CharT>
2480
std::size_t calculate_text_width(std::basic_string_view<CharT> input)
2481
47.3k
{
2482
47.3k
    size_t count{0};
2483
66.7k
    for_each_code_point(input, [&count](char32_t cp) {
2484
66.7k
        count += calculate_text_width_for_fmt_v10(cp);
2485
66.7k
    });
scn::v4::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}::operator()(char32_t) const
Line
Count
Source
2483
55.0k
    for_each_code_point(input, [&count](char32_t cp) {
2484
55.0k
        count += calculate_text_width_for_fmt_v10(cp);
2485
55.0k
    });
scn::v4::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}::operator()(char32_t) const
Line
Count
Source
2483
11.6k
    for_each_code_point(input, [&count](char32_t cp) {
2484
11.6k
        count += calculate_text_width_for_fmt_v10(cp);
2485
11.6k
    });
2486
47.3k
    return count;
2487
47.3k
}
unsigned long scn::v4::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
2481
43.7k
{
2482
43.7k
    size_t count{0};
2483
43.7k
    for_each_code_point(input, [&count](char32_t cp) {
2484
43.7k
        count += calculate_text_width_for_fmt_v10(cp);
2485
43.7k
    });
2486
43.7k
    return count;
2487
43.7k
}
unsigned long scn::v4::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
2481
3.67k
{
2482
3.67k
    size_t count{0};
2483
3.67k
    for_each_code_point(input, [&count](char32_t cp) {
2484
3.67k
        count += calculate_text_width_for_fmt_v10(cp);
2485
3.67k
    });
2486
3.67k
    return count;
2487
3.67k
}
2488
2489
namespace counted_width_iterator_impl {
2490
template <typename It, typename S>
2491
class counted_width_iterator {
2492
    static_assert(ranges::forward_iterator<It>);
2493
    static_assert(ranges::sentinel_for<S, It>);
2494
2495
    template <typename OtherIt, typename OtherS>
2496
    friend class counted_width_iterator;
2497
2498
public:
2499
    using iterator = It;
2500
    using sentinel = S;
2501
    using value_type = ranges::iter_value_t<It>;
2502
    using pointer = value_type*;
2503
    using reference = value_type&;
2504
    using difference_type = ranges::iter_difference_t<It>;
2505
    using iterator_category =
2506
        std::conditional_t<ranges::bidirectional_iterator<It>,
2507
                           std::bidirectional_iterator_tag,
2508
                           std::forward_iterator_tag>;
2509
2510
    constexpr counted_width_iterator() = default;
2511
2512
    constexpr counted_width_iterator(iterator x, sentinel s, difference_type n)
2513
57.5k
        : m_current(x), m_end(s), m_count(n)
2514
57.5k
    {
2515
57.5k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::counted_width_iterator(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::counted_width_iterator(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, long)
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, long)
Line
Count
Source
2513
6.48k
        : m_current(x), m_end(s), m_count(n)
2514
6.48k
    {
2515
6.48k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, long)
Line
Count
Source
2513
3.91k
        : m_current(x), m_end(s), m_count(n)
2514
3.91k
    {
2515
3.91k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::counted_width_iterator(char const*, char const*, long)
Line
Count
Source
2513
29.6k
        : m_current(x), m_end(s), m_count(n)
2514
29.6k
    {
2515
29.6k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::counted_width_iterator(wchar_t const*, wchar_t const*, long)
Line
Count
Source
2513
17.4k
        : m_current(x), m_end(s), m_count(n)
2514
17.4k
    {
2515
17.4k
    }
2516
2517
    template <typename OtherIt,
2518
              typename OtherS,
2519
              std::enable_if_t<std::is_convertible_v<OtherIt, It> &&
2520
                               std::is_convertible_v<OtherS, S>>* = nullptr>
2521
    constexpr counted_width_iterator(
2522
        const counted_width_iterator<OtherIt, OtherS>& other)
2523
        : m_current(other.m_current),
2524
          m_end(other.m_end),
2525
          m_count(other.m_count),
2526
          m_multibyte_left(other.m_multibyte_left)
2527
    {
2528
    }
2529
2530
    template <typename OtherIt, typename OtherS>
2531
    constexpr auto operator=(
2532
        const counted_width_iterator<OtherIt, OtherS>& other)
2533
        -> std::enable_if_t<std::is_convertible_v<OtherIt, It> &&
2534
                                std::is_convertible_v<OtherS, S>,
2535
                            counted_width_iterator&>
2536
    {
2537
        m_current = other.m_current;
2538
        m_end = other.m_end;
2539
        m_count = other.m_count;
2540
        m_multibyte_left = other.m_multibyte_left;
2541
        return *this;
2542
    }
2543
2544
    constexpr It base() const
2545
299k
    {
2546
299k
        return m_current;
2547
299k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::base() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::base() const
Line
Count
Source
2545
200k
    {
2546
200k
        return m_current;
2547
200k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::base() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::base() const
Line
Count
Source
2545
67.3k
    {
2546
67.3k
        return m_current;
2547
67.3k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::base() const
Line
Count
Source
2545
22.8k
    {
2546
22.8k
        return m_current;
2547
22.8k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::base() const
Line
Count
Source
2545
8.87k
    {
2546
8.87k
        return m_current;
2547
8.87k
    }
2548
    constexpr difference_type count() const
2549
580k
    {
2550
580k
        return m_count;
2551
580k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::count() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::count() const
Line
Count
Source
2549
391k
    {
2550
391k
        return m_count;
2551
391k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::count() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::count() const
Line
Count
Source
2549
128k
    {
2550
128k
        return m_count;
2551
128k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::count() const
Line
Count
Source
2549
44.3k
    {
2550
44.3k
        return m_count;
2551
44.3k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::count() const
Line
Count
Source
2549
16.5k
    {
2550
16.5k
        return m_count;
2551
16.5k
    }
2552
    constexpr difference_type multibyte_left() const
2553
41.4k
    {
2554
41.4k
        return m_multibyte_left;
2555
41.4k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::multibyte_left() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::multibyte_left() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::multibyte_left() const
Line
Count
Source
2553
32.8k
    {
2554
32.8k
        return m_multibyte_left;
2555
32.8k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::multibyte_left() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::multibyte_left() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::multibyte_left() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::multibyte_left() const
Line
Count
Source
2553
4.31k
    {
2554
4.31k
        return m_multibyte_left;
2555
4.31k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::multibyte_left() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::multibyte_left() const
Line
Count
Source
2553
3.40k
    {
2554
3.40k
        return m_multibyte_left;
2555
3.40k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::multibyte_left() const
Line
Count
Source
2553
874
    {
2554
874
        return m_multibyte_left;
2555
874
    }
2556
2557
    bool is_current_double_wide() const
2558
14.6k
    {
2559
14.6k
        assert(count() != 0 || multibyte_left() != 0);
2560
14.6k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2561
14.6k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::is_current_double_wide() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::is_current_double_wide() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::is_current_double_wide() const
Line
Count
Source
2558
8.99k
    {
2559
8.99k
        assert(count() != 0 || multibyte_left() != 0);
2560
8.99k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2561
8.99k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::is_current_double_wide() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::is_current_double_wide() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::is_current_double_wide() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::is_current_double_wide() const
Line
Count
Source
2558
3.49k
    {
2559
3.49k
        assert(count() != 0 || multibyte_left() != 0);
2560
3.49k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2561
3.49k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::is_current_double_wide() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::is_current_double_wide() const
Line
Count
Source
2558
1.60k
    {
2559
1.60k
        assert(count() != 0 || multibyte_left() != 0);
2560
1.60k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2561
1.60k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::is_current_double_wide() const
Line
Count
Source
2558
592
    {
2559
592
        assert(count() != 0 || multibyte_left() != 0);
2560
592
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2561
592
    }
2562
2563
    constexpr decltype(auto) operator*()
2564
266k
    {
2565
266k
        return *m_current;
2566
266k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator*()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator*()
Line
Count
Source
2564
183k
    {
2565
183k
        return *m_current;
2566
183k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::operator*()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator*()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator*()
Line
Count
Source
2564
65.2k
    {
2565
65.2k
        return *m_current;
2566
65.2k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::operator*()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::operator*()
Line
Count
Source
2564
13.0k
    {
2565
13.0k
        return *m_current;
2566
13.0k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::operator*()
Line
Count
Source
2564
5.20k
    {
2565
5.20k
        return *m_current;
2566
5.20k
    }
2567
    constexpr decltype(auto) operator*() const
2568
22.5k
    {
2569
22.5k
        return *m_current;
2570
22.5k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator*() const
Line
Count
Source
2568
16.3k
    {
2569
16.3k
        return *m_current;
2570
16.3k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator*() const
Line
Count
Source
2568
6.15k
    {
2569
6.15k
        return *m_current;
2570
6.15k
    }
2571
2572
    constexpr counted_width_iterator& operator++()
2573
269k
    {
2574
269k
        SCN_EXPECT(m_current != m_end);
2575
269k
        _increment_current();
2576
269k
        return *this;
2577
269k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator++()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator++()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator++()
Line
Count
Source
2573
201k
    {
2574
201k
        SCN_EXPECT(m_current != m_end);
2575
201k
        _increment_current();
2576
201k
        return *this;
2577
201k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::operator++()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator++()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator++()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator++()
Line
Count
Source
2573
47.3k
    {
2574
47.3k
        SCN_EXPECT(m_current != m_end);
2575
47.3k
        _increment_current();
2576
47.3k
        return *this;
2577
47.3k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::operator++()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::operator++()
Line
Count
Source
2573
17.4k
    {
2574
17.4k
        SCN_EXPECT(m_current != m_end);
2575
17.4k
        _increment_current();
2576
17.4k
        return *this;
2577
17.4k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::operator++()
Line
Count
Source
2573
2.48k
    {
2574
2.48k
        SCN_EXPECT(m_current != m_end);
2575
2.48k
        _increment_current();
2576
2.48k
        return *this;
2577
2.48k
    }
2578
2579
    constexpr counted_width_iterator operator++(int)
2580
    {
2581
        auto tmp = *this;
2582
        ++*this;
2583
        return tmp;
2584
    }
2585
2586
    template <typename Iter = It>
2587
    constexpr auto operator--()
2588
        -> std::enable_if_t<ranges::bidirectional_iterator<Iter>,
2589
                            counted_width_iterator&>
2590
0
    {
2591
0
        _decrement_current();
2592
0
        return *this;
2593
0
    }
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorIPKcS5_EmmIS5_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERS6_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKcS5_EENS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEE8sentinelILb1EEEEmmIS6_EENS8_9enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorIPKwS5_EmmIS5_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERS6_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKwS5_EENS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEE8sentinelILb1EEEEmmIS6_EENS8_9enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKcS5_EENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS5_S5_EEE8sentinelILb1EEEEmmIS6_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKwS5_EENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS5_S5_EEE8sentinelILb1EEEEmmIS6_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
2594
2595
    template <typename Iter = It>
2596
    constexpr auto operator--(int)
2597
        -> std::enable_if_t<ranges::bidirectional_iterator<Iter>,
2598
                            counted_width_iterator>
2599
    {
2600
        auto tmp = *this;
2601
        --*this;
2602
        return tmp;
2603
    }
2604
2605
    // TODO: optimize, make better than forward, if possible
2606
#if 0
2607
                template <typename Iter = It>
2608
                constexpr auto operator+(difference_type n) -> std::enable_if_t<
2609
                    ranges_std::random_access_iterator<Iter>,
2610
                    counted_width_iterator>
2611
                {
2612
                    // TODO
2613
                    return counted_width_iterator(m_current + n, m_count - n);
2614
                }
2615
2616
                template <typename Iter = It,
2617
                          std::enable_if_t<ranges_std::random_access_iterator<
2618
                              Iter>>* = nullptr>
2619
                friend constexpr counted_width_iterator operator+(
2620
                    ranges_std::iter_difference_t<Iter> n,
2621
                    const counted_width_iterator<Iter>& x)
2622
                {
2623
                    return x + n;
2624
                }
2625
2626
                template <typename Iter = It>
2627
                constexpr auto operator+=(difference_type n)
2628
                    -> std::enable_if_t<
2629
                        ranges_std::random_access_iterator<Iter>,
2630
                        counted_width_iterator&>
2631
                {
2632
                    // TODO
2633
                    m_current += n;
2634
                    m_count -= n;
2635
                    return *this;
2636
                }
2637
2638
                template <typename Iter = It>
2639
                constexpr auto operator-(difference_type n) -> std::enable_if_t<
2640
                    ranges_std::random_access_iterator<Iter>,
2641
                    counted_width_iterator>
2642
                {
2643
                    // TODO
2644
                    return counted_width_iterator(m_current - n, m_count + n);
2645
                }
2646
2647
                template <typename Iter = It,
2648
                          std::enable_if_t<ranges_std::random_access_iterator<
2649
                              Iter>>* = nullptr>
2650
                constexpr decltype(auto) operator[](difference_type n) const
2651
                {
2652
                    return m_current[n];
2653
                }
2654
#endif
2655
2656
    template <typename OtherIt, typename OtherS>
2657
    friend constexpr auto operator==(
2658
        const counted_width_iterator& a,
2659
        const counted_width_iterator<OtherIt, OtherS>& b)
2660
        -> decltype(SCN_DECLVAL(const It&) == SCN_DECLVAL(const OtherIt&))
2661
157k
    {
2662
157k
        return a.m_current == b.m_current;
2663
157k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<char const* const& (*scn::v4::impl::counted_width_iterator_impl::operator==<char const*, char const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&))()>(decltype(nullptr)))())==((static_cast<char const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2661
128k
    {
2662
128k
        return a.m_current == b.m_current;
2663
128k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<wchar_t const* const& (*scn::v4::impl::counted_width_iterator_impl::operator==<wchar_t const*, wchar_t const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&))()>(decltype(nullptr)))())==((static_cast<wchar_t const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2661
18.3k
    {
2662
18.3k
        return a.m_current == b.m_current;
2663
18.3k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2661
10.7k
    {
2662
10.7k
        return a.m_current == b.m_current;
2663
10.7k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
2664
    template <typename OtherIt, typename OtherS>
2665
    friend constexpr auto operator!=(
2666
        const counted_width_iterator& a,
2667
        const counted_width_iterator<OtherIt, OtherS>& b)
2668
        -> decltype(SCN_DECLVAL(const It&) == SCN_DECLVAL(const OtherIt&))
2669
143k
    {
2670
143k
        return !(a == b);
2671
143k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<char const* const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<char const*, char const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&))()>(decltype(nullptr)))())==((static_cast<char const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2669
115k
    {
2670
115k
        return !(a == b);
2671
115k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<wchar_t const* const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<wchar_t const*, wchar_t const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&))()>(decltype(nullptr)))())==((static_cast<wchar_t const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2669
16.8k
    {
2670
16.8k
        return !(a == b);
2671
16.8k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2669
10.7k
    {
2670
10.7k
        return !(a == b);
2671
10.7k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
2672
2673
    friend constexpr bool operator==(const counted_width_iterator& x,
2674
                                     ranges::default_sentinel_t)
2675
    {
2676
        return (x.count() == 0 && x.multibyte_left() == 0) ||
2677
               (x.count() == 1 && x.multibyte_left() == 0 &&
2678
                x.is_current_double_wide());
2679
    }
2680
    friend constexpr bool operator==(ranges::default_sentinel_t s,
2681
                                     const counted_width_iterator& x)
2682
    {
2683
        return x == s;
2684
    }
2685
2686
    friend constexpr bool operator!=(const counted_width_iterator& a,
2687
                                     ranges::default_sentinel_t b)
2688
    {
2689
        return !(a == b);
2690
    }
2691
    friend constexpr bool operator!=(ranges::default_sentinel_t a,
2692
                                     const counted_width_iterator& b)
2693
    {
2694
        return !(a == b);
2695
    }
2696
2697
    template <typename OtherIt, typename OtherS>
2698
    friend constexpr auto operator<(
2699
        const counted_width_iterator& a,
2700
        const counted_width_iterator<OtherIt, OtherS>& b)
2701
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2702
    {
2703
        if (a.count() == b.count()) {
2704
            return a.multibyte_left() > b.multibyte_left();
2705
        }
2706
2707
        return a.count() > b.count();
2708
    }
2709
2710
    template <typename OtherIt, typename OtherS>
2711
    friend constexpr auto operator>(
2712
        const counted_width_iterator& a,
2713
        const counted_width_iterator<OtherIt, OtherS>& b)
2714
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2715
    {
2716
        return !(b < a);
2717
    }
2718
2719
    template <typename OtherIt, typename OtherS>
2720
    friend constexpr auto operator<=(
2721
        const counted_width_iterator& a,
2722
        const counted_width_iterator<OtherIt, OtherS>& b)
2723
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2724
    {
2725
        return !(b < a);
2726
    }
2727
2728
    template <typename OtherIt, typename OtherS>
2729
    friend constexpr auto operator>=(
2730
        const counted_width_iterator& a,
2731
        const counted_width_iterator<OtherIt, OtherS>& b)
2732
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2733
    {
2734
        return !(a < b);
2735
    }
2736
2737
#if 0
2738
                template <typename OtherIt, typename OtherS>
2739
                friend constexpr auto operator-(
2740
                    const counted_width_iterator& a,
2741
                    const counted_width_iterator<OtherIt, OtherS>& b)
2742
                    -> std::enable_if_t<ranges_std::common_with<OtherIt, It>,
2743
                                        ranges_std::iter_difference_t<OtherIt>>
2744
                {
2745
                    // TODO
2746
                }
2747
2748
                friend constexpr ranges_std::iter_difference_t<It> operator-(
2749
                    const counted_width_iterator& x,
2750
                    ranges_std::default_sentinel_t)
2751
                {
2752
                    // TODO
2753
                }
2754
2755
                friend constexpr ranges_std::iter_difference_t<It> operator-(
2756
                    ranges_std::default_sentinel_t,
2757
                    const counted_width_iterator& x)
2758
                {
2759
                    // TODO
2760
                }
2761
#endif
2762
2763
#if 0
2764
                template <typename Iter = It>
2765
                constexpr auto operator-=(difference_type n)
2766
                    -> std::enable_if_t<
2767
                        ranges_std::random_access_iterator<Iter>,
2768
                        counted_width_iterator&>
2769
                {
2770
                    // TODO
2771
                    m_current -= n;
2772
                    m_count += n;
2773
                    return *this;
2774
                }
2775
#endif
2776
2777
private:
2778
    difference_type _get_cp_length_at_current() const
2779
170k
    {
2780
170k
        return static_cast<difference_type>(
2781
170k
            detail::code_point_length_by_starting_code_unit(*m_current));
2782
170k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_cp_length_at_current() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_get_cp_length_at_current() const
Line
Count
Source
2779
105k
    {
2780
105k
        return static_cast<difference_type>(
2781
105k
            detail::code_point_length_by_starting_code_unit(*m_current));
2782
105k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_cp_length_at_current() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_get_cp_length_at_current() const
Line
Count
Source
2779
50.8k
    {
2780
50.8k
        return static_cast<difference_type>(
2781
50.8k
            detail::code_point_length_by_starting_code_unit(*m_current));
2782
50.8k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_get_cp_length_at_current() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_get_cp_length_at_current() const
Line
Count
Source
2779
10.8k
    {
2780
10.8k
        return static_cast<difference_type>(
2781
10.8k
            detail::code_point_length_by_starting_code_unit(*m_current));
2782
10.8k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_get_cp_length_at_current() const
Line
Count
Source
2779
3.07k
    {
2780
3.07k
        return static_cast<difference_type>(
2781
3.07k
            detail::code_point_length_by_starting_code_unit(*m_current));
2782
3.07k
    }
2783
2784
    difference_type _get_width_at_current_cp_start(difference_type cplen) const
2785
170k
    {
2786
170k
        if (SCN_UNLIKELY(cplen == 0)) {
2787
1.97k
            return 0;
2788
1.97k
        }
2789
2790
168k
        if (cplen == 1) {
2791
126k
            SCN_EXPECT(m_current != m_end);
2792
126k
            auto cp = static_cast<char32_t>(*m_current);
2793
126k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2794
126k
        }
2795
2796
41.8k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2797
41.8k
                                           cplen);
2798
41.8k
        if (SCN_UNLIKELY(!r)) {
2799
422
            return 0;
2800
422
        }
2801
2802
41.4k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2803
41.4k
        return static_cast<difference_type>(
2804
41.4k
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2805
41.8k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_get_width_at_current_cp_start(long) const
Line
Count
Source
2785
105k
    {
2786
105k
        if (SCN_UNLIKELY(cplen == 0)) {
2787
1.97k
            return 0;
2788
1.97k
        }
2789
2790
103k
        if (cplen == 1) {
2791
67.4k
            SCN_EXPECT(m_current != m_end);
2792
67.4k
            auto cp = static_cast<char32_t>(*m_current);
2793
67.4k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2794
67.4k
        }
2795
2796
36.4k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2797
36.4k
                                           cplen);
2798
36.4k
        if (SCN_UNLIKELY(!r)) {
2799
422
            return 0;
2800
422
        }
2801
2802
36.0k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2803
36.0k
        return static_cast<difference_type>(
2804
36.0k
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2805
36.4k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_get_width_at_current_cp_start(long) const
Line
Count
Source
2785
50.8k
    {
2786
50.8k
        if (SCN_UNLIKELY(cplen == 0)) {
2787
0
            return 0;
2788
0
        }
2789
2790
50.8k
        if (cplen == 1) {
2791
50.8k
            SCN_EXPECT(m_current != m_end);
2792
50.8k
            auto cp = static_cast<char32_t>(*m_current);
2793
50.8k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2794
50.8k
        }
2795
2796
0
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2797
0
                                           cplen);
2798
0
        if (SCN_UNLIKELY(!r)) {
2799
0
            return 0;
2800
0
        }
2801
2802
0
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2803
0
        return static_cast<difference_type>(
2804
0
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2805
0
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Line
Count
Source
2785
10.8k
    {
2786
10.8k
        if (SCN_UNLIKELY(cplen == 0)) {
2787
0
            return 0;
2788
0
        }
2789
2790
10.8k
        if (cplen == 1) {
2791
5.50k
            SCN_EXPECT(m_current != m_end);
2792
5.50k
            auto cp = static_cast<char32_t>(*m_current);
2793
5.50k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2794
5.50k
        }
2795
2796
5.35k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2797
5.35k
                                           cplen);
2798
5.35k
        if (SCN_UNLIKELY(!r)) {
2799
0
            return 0;
2800
0
        }
2801
2802
5.35k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2803
5.35k
        return static_cast<difference_type>(
2804
5.35k
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2805
5.35k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Line
Count
Source
2785
3.07k
    {
2786
3.07k
        if (SCN_UNLIKELY(cplen == 0)) {
2787
0
            return 0;
2788
0
        }
2789
2790
3.07k
        if (cplen == 1) {
2791
3.07k
            SCN_EXPECT(m_current != m_end);
2792
3.07k
            auto cp = static_cast<char32_t>(*m_current);
2793
3.07k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2794
3.07k
        }
2795
2796
0
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2797
0
                                           cplen);
2798
0
        if (SCN_UNLIKELY(!r)) {
2799
0
            return 0;
2800
0
        }
2801
2802
0
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2803
0
        return static_cast<difference_type>(
2804
0
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2805
0
    }
2806
2807
    void _increment_current()
2808
269k
    {
2809
269k
        if (m_multibyte_left == 0) {
2810
156k
            auto cplen = _get_cp_length_at_current();
2811
156k
            m_multibyte_left = cplen - 1;
2812
156k
            m_count -= _get_width_at_current_cp_start(cplen);
2813
156k
        }
2814
113k
        else {
2815
113k
            --m_multibyte_left;
2816
113k
        }
2817
2818
269k
        ++m_current;
2819
269k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_increment_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_increment_current()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_increment_current()
Line
Count
Source
2808
201k
    {
2809
201k
        if (m_multibyte_left == 0) {
2810
96.9k
            auto cplen = _get_cp_length_at_current();
2811
96.9k
            m_multibyte_left = cplen - 1;
2812
96.9k
            m_count -= _get_width_at_current_cp_start(cplen);
2813
96.9k
        }
2814
105k
        else {
2815
105k
            --m_multibyte_left;
2816
105k
        }
2817
2818
201k
        ++m_current;
2819
201k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_increment_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_increment_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_increment_current()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_increment_current()
Line
Count
Source
2808
47.3k
    {
2809
47.3k
        if (m_multibyte_left == 0) {
2810
47.3k
            auto cplen = _get_cp_length_at_current();
2811
47.3k
            m_multibyte_left = cplen - 1;
2812
47.3k
            m_count -= _get_width_at_current_cp_start(cplen);
2813
47.3k
        }
2814
0
        else {
2815
0
            --m_multibyte_left;
2816
0
        }
2817
2818
47.3k
        ++m_current;
2819
47.3k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_increment_current()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_increment_current()
Line
Count
Source
2808
17.4k
    {
2809
17.4k
        if (m_multibyte_left == 0) {
2810
9.24k
            auto cplen = _get_cp_length_at_current();
2811
9.24k
            m_multibyte_left = cplen - 1;
2812
9.24k
            m_count -= _get_width_at_current_cp_start(cplen);
2813
9.24k
        }
2814
8.18k
        else {
2815
8.18k
            --m_multibyte_left;
2816
8.18k
        }
2817
2818
17.4k
        ++m_current;
2819
17.4k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_increment_current()
Line
Count
Source
2808
2.48k
    {
2809
2.48k
        if (m_multibyte_left == 0) {
2810
2.48k
            auto cplen = _get_cp_length_at_current();
2811
2.48k
            m_multibyte_left = cplen - 1;
2812
2.48k
            m_count -= _get_width_at_current_cp_start(cplen);
2813
2.48k
        }
2814
0
        else {
2815
0
            --m_multibyte_left;
2816
0
        }
2817
2818
2.48k
        ++m_current;
2819
2.48k
    }
2820
2821
    void _decrement_current()
2822
0
    {
2823
0
        --m_current;
2824
2825
0
        auto cplen = _get_cp_length_at_current();
2826
0
        if (cplen == 0) {
2827
0
            ++m_multibyte_left;
2828
0
        }
2829
0
        else {
2830
0
            m_count += _get_width_at_current_cp_start(cplen);
2831
0
            m_multibyte_left = cplen - 1;
2832
0
        }
2833
0
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_decrement_current()
2834
2835
    It m_current{};
2836
    S m_end{};
2837
    difference_type m_count{0};
2838
    difference_type m_multibyte_left{0};
2839
};
2840
2841
template <typename I, typename S>
2842
counted_width_iterator(I, S, ranges::iter_difference_t<I>)
2843
    -> counted_width_iterator<I, S>;
2844
}  // namespace counted_width_iterator_impl
2845
2846
using counted_width_iterator_impl::counted_width_iterator;
2847
2848
template <typename View, typename = void>
2849
struct take_width_view_storage;
2850
2851
template <typename View>
2852
struct take_width_view_storage<View,
2853
                               std::enable_if_t<ranges::borrowed_range<View>>> {
2854
26.0k
    take_width_view_storage(const View& v) : view(v) {}
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>::take_width_view_storage(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>::take_width_view_storage(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&)
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Line
Count
Source
2854
13.1k
    take_width_view_storage(const View& v) : view(v) {}
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>::take_width_view_storage(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>::take_width_view_storage(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&)
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
2854
6.77k
    take_width_view_storage(const View& v) : view(v) {}
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > const&)
Line
Count
Source
2854
3.92k
    take_width_view_storage(const View& v) : view(v) {}
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&)
Line
Count
Source
2854
2.24k
    take_width_view_storage(const View& v) : view(v) {}
2855
2856
    const View& get() const
2857
263k
    {
2858
263k
        return view;
2859
263k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>::get() const
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>::get() const
Line
Count
Source
2857
150k
    {
2858
150k
        return view;
2859
150k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>::get() const
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>::get() const
Line
Count
Source
2857
70.4k
    {
2858
70.4k
        return view;
2859
70.4k
    }
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, void>::get() const
Line
Count
Source
2857
27.3k
    {
2858
27.3k
        return view;
2859
27.3k
    }
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>::get() const
Line
Count
Source
2857
14.8k
    {
2858
14.8k
        return view;
2859
14.8k
    }
2860
2861
    View view;
2862
};
2863
2864
template <typename View>
2865
struct take_width_view_storage<
2866
    View,
2867
    std::enable_if_t<!ranges::borrowed_range<View>>> {
2868
    take_width_view_storage(const View& v) : view(&v) {}
2869
2870
    const View& get() const
2871
    {
2872
        return *view;
2873
    }
2874
2875
    const View* view;
2876
};
2877
2878
template <typename View>
2879
class take_width_view : public ranges::view_interface<take_width_view<View>> {
2880
    template <bool IsConst>
2881
    class sentinel {
2882
        friend class sentinel<!IsConst>;
2883
        using Base = std::conditional_t<IsConst, const View, View>;
2884
        using CWI = counted_width_iterator<ranges::iterator_t<Base>,
2885
                                           ranges::sentinel_t<Base>>;
2886
        using underlying = ranges::sentinel_t<Base>;
2887
2888
    public:
2889
        constexpr sentinel() = default;
2890
2891
148k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>::sentinel(scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>::sentinel(scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
2891
14.3k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
2891
7.03k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>::sentinel(char const*)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>::sentinel(char const*)
Line
Count
Source
2891
91.5k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>::sentinel(wchar_t const*)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>::sentinel(wchar_t const*)
Line
Count
Source
2891
35.4k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
2892
2893
        template <
2894
            typename S,
2895
            std::enable_if_t<std::is_same_v<S, sentinel<!IsConst>>>* = nullptr,
2896
            bool C = IsConst,
2897
            typename VV = View,
2898
            std::enable_if_t<C && std::is_convertible_v<ranges::sentinel_t<VV>,
2899
                                                        underlying>>* = nullptr>
2900
        constexpr explicit sentinel(S s) : m_end(SCN_MOVE(s.m_end))
2901
        {
2902
        }
2903
2904
        constexpr underlying base() const
2905
        {
2906
            return m_end;
2907
        }
2908
2909
        friend constexpr bool operator==(const CWI& y, const sentinel& x)
2910
280k
        {
2911
280k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2912
280k
                   y.base() == x.m_end ||
2913
280k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2914
275k
                    y.is_current_double_wide());
2915
280k
        }
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> const&)
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> const&)
Line
Count
Source
2910
191k
        {
2911
191k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2912
191k
                   y.base() == x.m_end ||
2913
191k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2914
188k
                    y.is_current_double_wide());
2915
191k
        }
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> const&)
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> const&)
Line
Count
Source
2910
62.2k
        {
2911
62.2k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2912
62.2k
                   y.base() == x.m_end ||
2913
62.2k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2914
60.9k
                    y.is_current_double_wide());
2915
62.2k
        }
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> const&)
Line
Count
Source
2910
19.8k
        {
2911
19.8k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2912
19.8k
                   y.base() == x.m_end ||
2913
19.8k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2914
19.1k
                    y.is_current_double_wide());
2915
19.8k
        }
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> const&)
Line
Count
Source
2910
7.03k
        {
2911
7.03k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2912
7.03k
                   y.base() == x.m_end ||
2913
7.03k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2914
6.75k
                    y.is_current_double_wide());
2915
7.03k
        }
2916
2917
        friend constexpr bool operator==(const sentinel& x, const CWI& y)
2918
        {
2919
            return y == x;
2920
        }
2921
2922
        friend constexpr bool operator!=(const CWI& y, const sentinel& x)
2923
143k
        {
2924
143k
            return !(y == x);
2925
143k
        }
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> const&)
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> const&)
Line
Count
Source
2923
99.7k
        {
2924
99.7k
            return !(y == x);
2925
99.7k
        }
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> const&)
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> const&)
Line
Count
Source
2923
31.5k
        {
2924
31.5k
            return !(y == x);
2925
31.5k
        }
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> const&)
Line
Count
Source
2923
9.28k
        {
2924
9.28k
            return !(y == x);
2925
9.28k
        }
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> const&)
Line
Count
Source
2923
3.17k
        {
2924
3.17k
            return !(y == x);
2925
3.17k
        }
2926
2927
        friend constexpr bool operator!=(const sentinel& x, const CWI& y)
2928
        {
2929
            return !(y == x);
2930
        }
2931
2932
    private:
2933
        SCN_NO_UNIQUE_ADDRESS underlying m_end{};
2934
    };
2935
2936
public:
2937
    using value_type = ranges::range_value_t<View>;
2938
2939
    take_width_view() = default;
2940
2941
    constexpr take_width_view(const View& base, std::ptrdiff_t count)
2942
26.0k
        : m_base(base), m_count(count)
2943
26.0k
    {
2944
26.0k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::take_width_view(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::take_width_view(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&, long)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, long)
Line
Count
Source
2942
13.1k
        : m_base(base), m_count(count)
2943
13.1k
    {
2944
13.1k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::take_width_view(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::take_width_view(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&, long)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, long)
Line
Count
Source
2942
6.77k
        : m_base(base), m_count(count)
2943
6.77k
    {
2944
6.77k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > const&, long)
Line
Count
Source
2942
3.92k
        : m_base(base), m_count(count)
2943
3.92k
    {
2944
3.92k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&, long)
Line
Count
Source
2942
2.24k
        : m_base(base), m_count(count)
2943
2.24k
    {
2944
2.24k
    }
2945
2946
    constexpr View base() const
2947
    {
2948
        return m_base;
2949
    }
2950
2951
    constexpr auto begin() const
2952
57.5k
    {
2953
57.5k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2954
57.5k
                                      m_count};
2955
57.5k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::begin() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Line
Count
Source
2952
29.6k
    {
2953
29.6k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2954
29.6k
                                      m_count};
2955
29.6k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::begin() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
2952
17.4k
    {
2953
17.4k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2954
17.4k
                                      m_count};
2955
17.4k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::begin() const
Line
Count
Source
2952
6.48k
    {
2953
6.48k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2954
6.48k
                                      m_count};
2955
6.48k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::begin() const
Line
Count
Source
2952
3.91k
    {
2953
3.91k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2954
3.91k
                                      m_count};
2955
3.91k
    }
2956
2957
    constexpr auto end() const
2958
148k
    {
2959
148k
        return sentinel<true>{m_base.get().end()};
2960
148k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::end() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Line
Count
Source
2958
91.5k
    {
2959
91.5k
        return sentinel<true>{m_base.get().end()};
2960
91.5k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::end() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Line
Count
Source
2958
35.4k
    {
2959
35.4k
        return sentinel<true>{m_base.get().end()};
2960
35.4k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::end() const
Line
Count
Source
2958
14.3k
    {
2959
14.3k
        return sentinel<true>{m_base.get().end()};
2960
14.3k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::end() const
Line
Count
Source
2958
7.03k
    {
2959
7.03k
        return sentinel<true>{m_base.get().end()};
2960
7.03k
    }
2961
2962
private:
2963
    take_width_view_storage<View> m_base{};
2964
    std::ptrdiff_t m_count{0};
2965
};
2966
2967
template <typename R>
2968
take_width_view(R&&, std::ptrdiff_t) -> take_width_view<R>;
2969
2970
struct _take_width_fn {
2971
    template <typename R>
2972
    constexpr auto operator()(const R& r, std::ptrdiff_t n) const
2973
        -> decltype(take_width_view{r, n})
2974
26.0k
    {
2975
26.0k
        return take_width_view{r, n};
2976
26.0k
    }
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&, long) const
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, long) const
Line
Count
Source
2974
13.1k
    {
2975
13.1k
        return take_width_view{r, n};
2976
13.1k
    }
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&, long) const
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, long) const
Line
Count
Source
2974
6.77k
    {
2975
6.77k
        return take_width_view{r, n};
2976
6.77k
    }
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > const&, long) const
Line
Count
Source
2974
3.92k
    {
2975
3.92k
        return take_width_view{r, n};
2976
3.92k
    }
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&, long) const
Line
Count
Source
2974
2.24k
    {
2975
2.24k
        return take_width_view{r, n};
2976
2.24k
    }
2977
};
2978
2979
inline constexpr _take_width_fn take_width{};
2980
}  // namespace impl
2981
2982
namespace ranges {
2983
template <typename R>
2984
inline constexpr bool enable_borrowed_range<::scn::impl::take_width_view<R>> =
2985
    enable_borrowed_range<R>;
2986
}
2987
2988
/////////////////////////////////////////////////////////////////
2989
// contiguous_scan_context
2990
/////////////////////////////////////////////////////////////////
2991
2992
template <typename CharT>
2993
class basic_scan_context<ranges::subrange<const CharT*, const CharT*>, CharT>
2994
    : public detail::scan_context_base<basic_scan_args<
2995
          basic_scan_context<detail::buffer_range_tag, CharT>>> {
2996
    using base = detail::scan_context_base<
2997
        basic_scan_args<basic_scan_context<detail::buffer_range_tag, CharT>>>;
2998
2999
    using parent_context_type =
3000
        basic_scan_context<detail::buffer_range_tag, CharT>;
3001
    using args_type = basic_scan_args<parent_context_type>;
3002
    using arg_type = basic_scan_arg<parent_context_type>;
3003
3004
public:
3005
    using char_type = CharT;
3006
    using range_type = ranges::subrange<const char_type*, const char_type*>;
3007
    using iterator = const char_type*;
3008
    using sentinel = const char_type*;
3009
    using parse_context_type = basic_scan_parse_context<char_type>;
3010
3011
    template <typename Range,
3012
              std::enable_if_t<ranges::contiguous_range<Range> &&
3013
                               ranges::borrowed_range<Range>>* = nullptr>
3014
    constexpr basic_scan_context(Range&& r,
3015
                                 args_type a,
3016
                                 detail::locale_ref loc = {})
3017
2.47M
        : base(SCN_MOVE(a), loc),
3018
2.47M
          m_range(ranges::data(r), ranges::data(r) + ranges::size(r)),
3019
2.47M
          m_current(m_range.begin())
3020
2.47M
    {
3021
2.47M
    }
_ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEcEC2INSt3__117basic_string_viewIcNSB_11char_traitsIcEEEETnPNSB_9enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISH_EEvE4typeELPv0EEEOSH_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEcEEEENSO_10locale_refE
Line
Count
Source
3017
77.7k
        : base(SCN_MOVE(a), loc),
3018
77.7k
          m_range(ranges::data(r), ranges::data(r) + ranges::size(r)),
3019
77.7k
          m_current(m_range.begin())
3020
77.7k
    {
3021
77.7k
    }
_ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS7_EEwEC2INSt3__117basic_string_viewIwNSB_11char_traitsIwEEEETnPNSB_9enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISH_EEvE4typeELPv0EEEOSH_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEwEEEENSO_10locale_refE
Line
Count
Source
3017
91.1k
        : base(SCN_MOVE(a), loc),
3018
91.1k
          m_range(ranges::data(r), ranges::data(r) + ranges::size(r)),
3019
91.1k
          m_current(m_range.begin())
3020
91.1k
    {
3021
91.1k
    }
_ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEcEC2IRS8_TnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISE_EEvE4typeELPv0EEEOSE_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEcEEEENSL_10locale_refE
Line
Count
Source
3017
984k
        : base(SCN_MOVE(a), loc),
3018
984k
          m_range(ranges::data(r), ranges::data(r) + ranges::size(r)),
3019
984k
          m_current(m_range.begin())
3020
984k
    {
3021
984k
    }
_ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS7_EEwEC2IRS8_TnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISE_EEvE4typeELPv0EEEOSE_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEwEEEENSL_10locale_refE
Line
Count
Source
3017
1.31M
        : base(SCN_MOVE(a), loc),
3018
1.31M
          m_range(ranges::data(r), ranges::data(r) + ranges::size(r)),
3019
1.31M
          m_current(m_range.begin())
3020
1.31M
    {
3021
1.31M
    }
3022
3023
    constexpr iterator begin() const
3024
268M
    {
3025
268M
        return m_current;
3026
268M
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::begin() const
Line
Count
Source
3024
2.97M
    {
3025
2.97M
        return m_current;
3026
2.97M
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::begin() const
Line
Count
Source
3024
265M
    {
3025
265M
        return m_current;
3026
265M
    }
3027
3028
    constexpr sentinel end() const
3029
528M
    {
3030
528M
        return m_range.end();
3031
528M
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::end() const
Line
Count
Source
3029
1.94M
    {
3030
1.94M
        return m_range.end();
3031
1.94M
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::end() const
Line
Count
Source
3029
526M
    {
3030
526M
        return m_range.end();
3031
526M
    }
3032
3033
    constexpr auto range() const
3034
2.25M
    {
3035
2.25M
        return ranges::subrange{begin(), end()};
3036
2.25M
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::range() const
Line
Count
Source
3034
1.01M
    {
3035
1.01M
        return ranges::subrange{begin(), end()};
3036
1.01M
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::range() const
Line
Count
Source
3034
1.24M
    {
3035
1.24M
        return ranges::subrange{begin(), end()};
3036
1.24M
    }
3037
3038
    constexpr auto underlying_range() const
3039
506k
    {
3040
506k
        return m_range;
3041
506k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::underlying_range() const
Line
Count
Source
3039
233k
    {
3040
233k
        return m_range;
3041
233k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::underlying_range() const
Line
Count
Source
3039
273k
    {
3040
273k
        return m_range;
3041
273k
    }
3042
3043
    void advance_to(iterator it)
3044
263M
    {
3045
263M
        SCN_EXPECT(it <= end());
3046
263M
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
3047
263M
            if (it == nullptr) {
3048
0
                it = end();
3049
0
            }
3050
263M
        }
3051
263M
        m_current = SCN_MOVE(it);
3052
263M
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::advance_to(char const*)
Line
Count
Source
3044
857k
    {
3045
857k
        SCN_EXPECT(it <= end());
3046
857k
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
3047
857k
            if (it == nullptr) {
3048
0
                it = end();
3049
0
            }
3050
857k
        }
3051
857k
        m_current = SCN_MOVE(it);
3052
857k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
3044
263M
    {
3045
263M
        SCN_EXPECT(it <= end());
3046
263M
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
3047
263M
            if (it == nullptr) {
3048
0
                it = end();
3049
0
            }
3050
263M
        }
3051
263M
        m_current = SCN_MOVE(it);
3052
263M
    }
3053
3054
    void advance_to(const typename parent_context_type::iterator& it)
3055
63.7k
    {
3056
63.7k
        SCN_EXPECT(it.position() <= m_range.size());
3057
63.7k
        m_current = m_range.begin() + it.position();
3058
63.7k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::advance_to(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
3055
42.6k
    {
3056
42.6k
        SCN_EXPECT(it.position() <= m_range.size());
3057
42.6k
        m_current = m_range.begin() + it.position();
3058
42.6k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::advance_to(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
3055
21.1k
    {
3056
21.1k
        SCN_EXPECT(it.position() <= m_range.size());
3057
21.1k
        m_current = m_range.begin() + it.position();
3058
21.1k
    }
3059
3060
    std::ptrdiff_t begin_position()
3061
168k
    {
3062
168k
        return ranges::distance(m_range.begin(), begin());
3063
168k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::begin_position()
Line
Count
Source
3061
77.7k
    {
3062
77.7k
        return ranges::distance(m_range.begin(), begin());
3063
77.7k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::begin_position()
Line
Count
Source
3061
91.1k
    {
3062
91.1k
        return ranges::distance(m_range.begin(), begin());
3063
91.1k
    }
3064
3065
private:
3066
    range_type m_range;
3067
    iterator m_current;
3068
};
3069
3070
namespace impl {
3071
template <typename CharT>
3072
using basic_contiguous_scan_context =
3073
    basic_scan_context<ranges::subrange<const CharT*, const CharT*>, CharT>;
3074
3075
struct reader_error_handler {
3076
    constexpr void on_error(const char* msg)
3077
36.1k
    {
3078
36.1k
        SCN_UNLIKELY_ATTR
3079
36.1k
        m_msg = msg;
3080
36.1k
    }
3081
    explicit constexpr operator bool() const
3082
3.46M
    {
3083
3.46M
        return m_msg == nullptr;
3084
3.46M
    }
3085
3086
    const char* m_msg{nullptr};
3087
};
3088
3089
/////////////////////////////////////////////////////////////////
3090
// General reading support
3091
/////////////////////////////////////////////////////////////////
3092
3093
template <typename SourceRange>
3094
auto skip_classic_whitespace(const SourceRange& range,
3095
                             bool allow_exhaustion = false)
3096
    -> eof_expected<ranges::const_iterator_t<SourceRange>>
3097
5.99M
{
3098
5.99M
    if (!allow_exhaustion) {
3099
5.99M
        auto it = read_while_classic_space(range);
3100
5.99M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3101
5.99M
            SCN_UNLIKELY(!e)) {
3102
55.1k
            return unexpected(e);
3103
55.1k
        }
3104
3105
5.93M
        return it;
3106
5.99M
    }
3107
3108
1.71k
    return read_while_classic_space(range);
3109
5.99M
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSJ_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSE_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSD_b
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_b
Line
Count
Source
3097
640
{
3098
640
    if (!allow_exhaustion) {
3099
0
        auto it = read_while_classic_space(range);
3100
0
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3101
0
            SCN_UNLIKELY(!e)) {
3102
0
            return unexpected(e);
3103
0
        }
3104
3105
0
        return it;
3106
0
    }
3107
3108
640
    return read_while_classic_space(range);
3109
640
}
_ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSD_b
Line
Count
Source
3097
1.25M
{
3098
1.25M
    if (!allow_exhaustion) {
3099
1.25M
        auto it = read_while_classic_space(range);
3100
1.25M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3101
1.25M
            SCN_UNLIKELY(!e)) {
3102
18.2k
            return unexpected(e);
3103
18.2k
        }
3104
3105
1.23M
        return it;
3106
1.25M
    }
3107
3108
166
    return read_while_classic_space(range);
3109
1.25M
}
_ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
3097
1.22M
{
3098
1.22M
    if (!allow_exhaustion) {
3099
1.22M
        auto it = read_while_classic_space(range);
3100
1.22M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3101
1.22M
            SCN_UNLIKELY(!e)) {
3102
20.8k
            return unexpected(e);
3103
20.8k
        }
3104
3105
1.20M
        return it;
3106
1.22M
    }
3107
3108
0
    return read_while_classic_space(range);
3109
1.22M
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSJ_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSE_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSD_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEERKSB_b
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_b
Line
Count
Source
3097
514
{
3098
514
    if (!allow_exhaustion) {
3099
0
        auto it = read_while_classic_space(range);
3100
0
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3101
0
            SCN_UNLIKELY(!e)) {
3102
0
            return unexpected(e);
3103
0
        }
3104
3105
0
        return it;
3106
0
    }
3107
3108
514
    return read_while_classic_space(range);
3109
514
}
_ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSD_b
Line
Count
Source
3097
2.09M
{
3098
2.09M
    if (!allow_exhaustion) {
3099
2.09M
        auto it = read_while_classic_space(range);
3100
2.09M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3101
2.09M
            SCN_UNLIKELY(!e)) {
3102
8.41k
            return unexpected(e);
3103
8.41k
        }
3104
3105
2.08M
        return it;
3106
2.09M
    }
3107
3108
392
    return read_while_classic_space(range);
3109
2.09M
}
_ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
3097
1.40M
{
3098
1.40M
    if (!allow_exhaustion) {
3099
1.40M
        auto it = read_while_classic_space(range);
3100
1.40M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3101
1.40M
            SCN_UNLIKELY(!e)) {
3102
7.27k
            return unexpected(e);
3103
7.27k
        }
3104
3105
1.40M
        return it;
3106
1.40M
    }
3107
3108
0
    return read_while_classic_space(range);
3109
1.40M
}
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
3097
2.55k
{
3098
2.55k
    if (!allow_exhaustion) {
3099
2.55k
        auto it = read_while_classic_space(range);
3100
2.55k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3101
2.55k
            SCN_UNLIKELY(!e)) {
3102
238
            return unexpected(e);
3103
238
        }
3104
3105
2.31k
        return it;
3106
2.55k
    }
3107
3108
0
    return read_while_classic_space(range);
3109
2.55k
}
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
3097
1.67k
{
3098
1.67k
    if (!allow_exhaustion) {
3099
1.67k
        auto it = read_while_classic_space(range);
3100
1.67k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3101
1.67k
            SCN_UNLIKELY(!e)) {
3102
124
            return unexpected(e);
3103
124
        }
3104
3105
1.55k
        return it;
3106
1.67k
    }
3107
3108
0
    return read_while_classic_space(range);
3109
1.67k
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEERKSB_b
3110
3111
template <typename SourceCharT, typename DestCharT>
3112
scan_expected<void> transcode_impl(std::basic_string_view<SourceCharT> src,
3113
                                   std::basic_string<DestCharT>& dst)
3114
3.44k
{
3115
3.44k
    dst.clear();
3116
3.44k
    transcode_valid_to_string(src, dst);
3117
3.44k
    return {};
3118
3.44k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_impl<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3114
2.15k
{
3115
2.15k
    dst.clear();
3116
2.15k
    transcode_valid_to_string(src, dst);
3117
2.15k
    return {};
3118
2.15k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_impl<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3114
1.28k
{
3115
1.28k
    dst.clear();
3116
1.28k
    transcode_valid_to_string(src, dst);
3117
1.28k
    return {};
3118
1.28k
}
3119
3120
template <typename SourceCharT, typename DestCharT>
3121
scan_expected<void> transcode_if_necessary(
3122
    const contiguous_range_factory<SourceCharT>& source,
3123
    std::basic_string<DestCharT>& dest)
3124
{
3125
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3126
        dest.assign(source.view());
3127
    }
3128
    else {
3129
        return transcode_impl(source.view(), dest);
3130
    }
3131
3132
    return {};
3133
}
3134
3135
template <typename SourceCharT, typename DestCharT>
3136
scan_expected<void> transcode_if_necessary(
3137
    contiguous_range_factory<SourceCharT>&& source,
3138
    std::basic_string<DestCharT>& dest)
3139
789k
{
3140
789k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3141
789k
        if (source.stores_allocated_string()) {
3142
3.66k
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3143
3.66k
        }
3144
785k
        else {
3145
785k
            dest.assign(source.view());
3146
785k
        }
3147
    }
3148
810
    else {
3149
810
        return transcode_impl(source.view(), dest);
3150
810
    }
3151
3152
0
    return {};
3153
789k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, char>(scn::v4::impl::contiguous_range_factory<char>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3139
115k
{
3140
115k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3141
115k
        if (source.stores_allocated_string()) {
3142
2.32k
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3143
2.32k
        }
3144
112k
        else {
3145
112k
            dest.assign(source.view());
3146
112k
        }
3147
    }
3148
    else {
3149
        return transcode_impl(source.view(), dest);
3150
    }
3151
3152
115k
    return {};
3153
115k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, wchar_t>(scn::v4::impl::contiguous_range_factory<char>&&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3139
500
{
3140
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3141
        if (source.stores_allocated_string()) {
3142
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3143
        }
3144
        else {
3145
            dest.assign(source.view());
3146
        }
3147
    }
3148
500
    else {
3149
500
        return transcode_impl(source.view(), dest);
3150
500
    }
3151
3152
0
    return {};
3153
500
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, char>(scn::v4::impl::contiguous_range_factory<wchar_t>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3139
310
{
3140
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3141
        if (source.stores_allocated_string()) {
3142
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3143
        }
3144
        else {
3145
            dest.assign(source.view());
3146
        }
3147
    }
3148
310
    else {
3149
310
        return transcode_impl(source.view(), dest);
3150
310
    }
3151
3152
0
    return {};
3153
310
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, wchar_t>(scn::v4::impl::contiguous_range_factory<wchar_t>&&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3139
673k
{
3140
673k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3141
673k
        if (source.stores_allocated_string()) {
3142
1.33k
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3143
1.33k
        }
3144
672k
        else {
3145
672k
            dest.assign(source.view());
3146
672k
        }
3147
    }
3148
    else {
3149
        return transcode_impl(source.view(), dest);
3150
    }
3151
3152
673k
    return {};
3153
673k
}
3154
3155
template <typename SourceCharT, typename DestCharT>
3156
scan_expected<void> transcode_if_necessary(
3157
    string_view_wrapper<SourceCharT> source,
3158
    std::basic_string<DestCharT>& dest)
3159
768k
{
3160
768k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3161
765k
        dest.assign(source.view());
3162
    }
3163
2.63k
    else {
3164
2.63k
        return transcode_impl(source.view(), dest);
3165
2.63k
    }
3166
3167
0
    return {};
3168
768k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, char>(scn::v4::impl::string_view_wrapper<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3159
90.8k
{
3160
90.8k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3161
90.8k
        dest.assign(source.view());
3162
    }
3163
    else {
3164
        return transcode_impl(source.view(), dest);
3165
    }
3166
3167
90.8k
    return {};
3168
90.8k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, wchar_t>(scn::v4::impl::string_view_wrapper<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3159
1.65k
{
3160
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3161
        dest.assign(source.view());
3162
    }
3163
1.65k
    else {
3164
1.65k
        return transcode_impl(source.view(), dest);
3165
1.65k
    }
3166
3167
0
    return {};
3168
1.65k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, char>(scn::v4::impl::string_view_wrapper<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3159
976
{
3160
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3161
        dest.assign(source.view());
3162
    }
3163
976
    else {
3164
976
        return transcode_impl(source.view(), dest);
3165
976
    }
3166
3167
0
    return {};
3168
976
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, wchar_t>(scn::v4::impl::string_view_wrapper<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3159
674k
{
3160
674k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3161
674k
        dest.assign(source.view());
3162
    }
3163
    else {
3164
        return transcode_impl(source.view(), dest);
3165
    }
3166
3167
674k
    return {};
3168
674k
}
3169
3170
/////////////////////////////////////////////////////////////////
3171
// Reader base classes etc.
3172
/////////////////////////////////////////////////////////////////
3173
3174
template <typename Derived, typename CharT>
3175
class reader_base {
3176
public:
3177
    using char_type = CharT;
3178
3179
    constexpr reader_base() = default;
3180
3181
    bool skip_ws_before_read() const
3182
5.10M
    {
3183
5.10M
        return true;
3184
5.10M
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<char>, char>::skip_ws_before_read() const
Line
Count
Source
3182
1.40M
    {
3183
1.40M
        return true;
3184
1.40M
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<char>, char>::skip_ws_before_read() const
Line
Count
Source
3182
1.87M
    {
3183
1.87M
        return true;
3184
1.87M
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<char>, char>::skip_ws_before_read() const
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3182
293k
    {
3183
293k
        return true;
3184
293k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3182
1.53M
    {
3183
1.53M
        return true;
3184
1.53M
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<wchar_t>, wchar_t>::skip_ws_before_read() const
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<char>, char>::skip_ws_before_read() const
Line
Count
Source
3182
1.66k
    {
3183
1.66k
        return true;
3184
1.66k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3182
1.53k
    {
3183
1.53k
        return true;
3184
1.53k
    }
3185
3186
    scan_expected<void> check_specs(const detail::format_specs& specs)
3187
3.45M
    {
3188
3.45M
        reader_error_handler eh{};
3189
3.45M
        get_derived().check_specs_impl(specs, eh);
3190
3.45M
        if (SCN_UNLIKELY(!eh)) {
3191
29.4k
            return detail::unexpected_scan_error(
3192
29.4k
                scan_error::invalid_format_string, eh.m_msg);
3193
29.4k
        }
3194
3.42M
        return {};
3195
3.45M
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3187
667k
    {
3188
667k
        reader_error_handler eh{};
3189
667k
        get_derived().check_specs_impl(specs, eh);
3190
667k
        if (SCN_UNLIKELY(!eh)) {
3191
5.13k
            return detail::unexpected_scan_error(
3192
5.13k
                scan_error::invalid_format_string, eh.m_msg);
3193
5.13k
        }
3194
662k
        return {};
3195
667k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3187
834k
    {
3188
834k
        reader_error_handler eh{};
3189
834k
        get_derived().check_specs_impl(specs, eh);
3190
834k
        if (SCN_UNLIKELY(!eh)) {
3191
2.55k
            return detail::unexpected_scan_error(
3192
2.55k
                scan_error::invalid_format_string, eh.m_msg);
3193
2.55k
        }
3194
832k
        return {};
3195
834k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3187
143k
    {
3188
143k
        reader_error_handler eh{};
3189
143k
        get_derived().check_specs_impl(specs, eh);
3190
143k
        if (SCN_UNLIKELY(!eh)) {
3191
5.59k
            return detail::unexpected_scan_error(
3192
5.59k
                scan_error::invalid_format_string, eh.m_msg);
3193
5.59k
        }
3194
138k
        return {};
3195
143k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<char>, char>::check_specs(scn::v4::detail::format_specs const&)
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3187
222k
    {
3188
222k
        reader_error_handler eh{};
3189
222k
        get_derived().check_specs_impl(specs, eh);
3190
222k
        if (SCN_UNLIKELY(!eh)) {
3191
1.49k
            return detail::unexpected_scan_error(
3192
1.49k
                scan_error::invalid_format_string, eh.m_msg);
3193
1.49k
        }
3194
220k
        return {};
3195
222k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3187
735k
    {
3188
735k
        reader_error_handler eh{};
3189
735k
        get_derived().check_specs_impl(specs, eh);
3190
735k
        if (SCN_UNLIKELY(!eh)) {
3191
726
            return detail::unexpected_scan_error(
3192
726
                scan_error::invalid_format_string, eh.m_msg);
3193
726
        }
3194
734k
        return {};
3195
735k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3187
843k
    {
3188
843k
        reader_error_handler eh{};
3189
843k
        get_derived().check_specs_impl(specs, eh);
3190
843k
        if (SCN_UNLIKELY(!eh)) {
3191
11.0k
            return detail::unexpected_scan_error(
3192
11.0k
                scan_error::invalid_format_string, eh.m_msg);
3193
11.0k
        }
3194
832k
        return {};
3195
843k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3187
3.30k
    {
3188
3.30k
        reader_error_handler eh{};
3189
3.30k
        get_derived().check_specs_impl(specs, eh);
3190
3.30k
        if (SCN_UNLIKELY(!eh)) {
3191
2.27k
            return detail::unexpected_scan_error(
3192
2.27k
                scan_error::invalid_format_string, eh.m_msg);
3193
2.27k
        }
3194
1.03k
        return {};
3195
3.30k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3187
1.51k
    {
3188
1.51k
        reader_error_handler eh{};
3189
1.51k
        get_derived().check_specs_impl(specs, eh);
3190
1.51k
        if (SCN_UNLIKELY(!eh)) {
3191
622
            return detail::unexpected_scan_error(
3192
622
                scan_error::invalid_format_string, eh.m_msg);
3193
622
        }
3194
888
        return {};
3195
1.51k
    }
3196
3197
private:
3198
    Derived& get_derived()
3199
3.45M
    {
3200
3.45M
        return static_cast<Derived&>(*this);
3201
3.45M
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<char>, char>::get_derived()
Line
Count
Source
3199
667k
    {
3200
667k
        return static_cast<Derived&>(*this);
3201
667k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<char>, char>::get_derived()
Line
Count
Source
3199
834k
    {
3200
834k
        return static_cast<Derived&>(*this);
3201
834k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<char>, char>::get_derived()
Line
Count
Source
3199
143k
    {
3200
143k
        return static_cast<Derived&>(*this);
3201
143k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<char>, char>::get_derived()
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3199
222k
    {
3200
222k
        return static_cast<Derived&>(*this);
3201
222k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3199
735k
    {
3200
735k
        return static_cast<Derived&>(*this);
3201
735k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3199
843k
    {
3200
843k
        return static_cast<Derived&>(*this);
3201
843k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<wchar_t>, wchar_t>::get_derived()
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<char>, char>::get_derived()
Line
Count
Source
3199
3.30k
    {
3200
3.30k
        return static_cast<Derived&>(*this);
3201
3.30k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3199
1.51k
    {
3200
1.51k
        return static_cast<Derived&>(*this);
3201
1.51k
    }
3202
    const Derived& get_derived() const
3203
    {
3204
        return static_cast<const Derived&>(*this);
3205
    }
3206
};
3207
3208
template <typename CharT>
3209
class reader_impl_for_monostate {
3210
public:
3211
    constexpr reader_impl_for_monostate() = default;
3212
3213
    bool skip_ws_before_read() const
3214
0
    {
3215
0
        return true;
3216
0
    }
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<char>::skip_ws_before_read() const
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<wchar_t>::skip_ws_before_read() const
3217
3218
    static scan_expected<void> check_specs(const detail::format_specs&)
3219
0
    {
3220
0
        SCN_EXPECT(false);
3221
0
        SCN_UNREACHABLE;
3222
0
    }
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<char>::check_specs(scn::v4::detail::format_specs const&)
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<wchar_t>::check_specs(scn::v4::detail::format_specs const&)
3223
3224
    template <typename Range>
3225
    auto read_default(Range, monostate&, detail::locale_ref)
3226
        -> scan_expected<ranges::const_iterator_t<Range>>
3227
0
    {
3228
0
        SCN_EXPECT(false);
3229
0
        SCN_UNREACHABLE;
3230
0
    }
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_9monostateENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_9monostateENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_9monostateENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_9monostateENS9_10locale_refE
3231
3232
    template <typename Range>
3233
    auto read_specs(Range,
3234
                    const detail::format_specs&,
3235
                    monostate&,
3236
                    detail::locale_ref)
3237
        -> scan_expected<ranges::const_iterator_t<Range>>
3238
0
    {
3239
0
        SCN_EXPECT(false);
3240
0
        SCN_UNREACHABLE;
3241
0
    }
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_9monostateENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_9monostateENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_9monostateENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_9monostateENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_9monostateENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_9monostateENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_9monostateENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_9monostateENS9_10locale_refE
3242
};
3243
3244
/////////////////////////////////////////////////////////////////
3245
// Numeric reader support
3246
/////////////////////////////////////////////////////////////////
3247
3248
enum class sign_type { default_sign = -1, minus_sign = 0, plus_sign = 1 };
3249
3250
inline constexpr std::array<uint8_t, 256> char_to_int_table = {
3251
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3252
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3253
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3254
    255, 255, 255, 0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   255, 255,
3255
    255, 255, 255, 255, 255, 10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
3256
    20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,  33,  34,
3257
    35,  255, 255, 255, 255, 255, 255, 10,  11,  12,  13,  14,  15,  16,  17,
3258
    18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,
3259
    33,  34,  35,  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3260
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3261
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3262
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3263
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3264
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3265
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3266
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3267
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3268
    255};
3269
3270
SCN_NODISCARD SCN_FORCE_INLINE constexpr uint8_t char_to_int(char ch)
3271
13.4M
{
3272
13.4M
    return char_to_int_table[static_cast<unsigned char>(ch)];
3273
13.4M
}
3274
SCN_NODISCARD SCN_FORCE_INLINE constexpr uint8_t char_to_int(wchar_t ch)
3275
3.41M
{
3276
3.41M
#if WCHAR_MIN < 0
3277
3.41M
    if (ch >= 0 && ch <= 255) {
3278
#else
3279
    if (ch <= 255) {
3280
#endif
3281
2.16M
        return char_to_int(static_cast<char>(ch));
3282
2.16M
    }
3283
1.25M
    return 255;
3284
3.41M
}
3285
3286
template <typename Range>
3287
auto parse_numeric_sign(Range range)
3288
    -> eof_expected<std::pair<ranges::const_iterator_t<Range>, sign_type>>
3289
3.32M
{
3290
3.32M
    auto r = read_one_of_code_unit(range, "+-");
3291
3.32M
    if (!r) {
3292
2.91M
        if (r.error() == parse_error::error) {
3293
2.91M
            return std::pair{range.begin(), sign_type::default_sign};
3294
2.91M
        }
3295
2.05k
        return unexpected(eof_error::eof);
3296
2.91M
    }
3297
3298
413k
    auto& it = *r;
3299
413k
    if (*range.begin() == '-') {
3300
236k
        return std::pair{it, sign_type::minus_sign};
3301
236k
    }
3302
176k
    return std::pair{it, sign_type::plus_sign};
3303
413k
}
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESJ_
_ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESH_
Line
Count
Source
3289
1.03M
{
3290
1.03M
    auto r = read_one_of_code_unit(range, "+-");
3291
1.03M
    if (!r) {
3292
841k
        if (r.error() == parse_error::error) {
3293
841k
            return std::pair{range.begin(), sign_type::default_sign};
3294
841k
        }
3295
200
        return unexpected(eof_error::eof);
3296
841k
    }
3297
3298
197k
    auto& it = *r;
3299
197k
    if (*range.begin() == '-') {
3300
105k
        return std::pair{it, sign_type::minus_sign};
3301
105k
    }
3302
91.9k
    return std::pair{it, sign_type::plus_sign};
3303
197k
}
_ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESG_
Line
Count
Source
3289
1.57k
{
3290
1.57k
    auto r = read_one_of_code_unit(range, "+-");
3291
1.57k
    if (!r) {
3292
1.57k
        if (r.error() == parse_error::error) {
3293
1.57k
            return std::pair{range.begin(), sign_type::default_sign};
3294
1.57k
        }
3295
0
        return unexpected(eof_error::eof);
3296
1.57k
    }
3297
3298
0
    auto& it = *r;
3299
0
    if (*range.begin() == '-') {
3300
0
        return std::pair{it, sign_type::minus_sign};
3301
0
    }
3302
0
    return std::pair{it, sign_type::plus_sign};
3303
0
}
_ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESE_
Line
Count
Source
3289
982k
{
3290
982k
    auto r = read_one_of_code_unit(range, "+-");
3291
982k
    if (!r) {
3292
796k
        if (r.error() == parse_error::error) {
3293
796k
            return std::pair{range.begin(), sign_type::default_sign};
3294
796k
        }
3295
60
        return unexpected(eof_error::eof);
3296
796k
    }
3297
3298
185k
    auto& it = *r;
3299
185k
    if (*range.begin() == '-') {
3300
103k
        return std::pair{it, sign_type::minus_sign};
3301
103k
    }
3302
81.9k
    return std::pair{it, sign_type::plus_sign};
3303
185k
}
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESP_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESM_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESJ_
_ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESH_
Line
Count
Source
3289
647k
{
3290
647k
    auto r = read_one_of_code_unit(range, "+-");
3291
647k
    if (!r) {
3292
631k
        if (r.error() == parse_error::error) {
3293
631k
            return std::pair{range.begin(), sign_type::default_sign};
3294
631k
        }
3295
72
        return unexpected(eof_error::eof);
3296
631k
    }
3297
3298
15.9k
    auto& it = *r;
3299
15.9k
    if (*range.begin() == '-') {
3300
14.2k
        return std::pair{it, sign_type::minus_sign};
3301
14.2k
    }
3302
1.63k
    return std::pair{it, sign_type::plus_sign};
3303
15.9k
}
_ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESG_
Line
Count
Source
3289
1.01k
{
3290
1.01k
    auto r = read_one_of_code_unit(range, "+-");
3291
1.01k
    if (!r) {
3292
1.01k
        if (r.error() == parse_error::error) {
3293
1.01k
            return std::pair{range.begin(), sign_type::default_sign};
3294
1.01k
        }
3295
0
        return unexpected(eof_error::eof);
3296
1.01k
    }
3297
3298
0
    auto& it = *r;
3299
0
    if (*range.begin() == '-') {
3300
0
        return std::pair{it, sign_type::minus_sign};
3301
0
    }
3302
0
    return std::pair{it, sign_type::plus_sign};
3303
0
}
_ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESE_
Line
Count
Source
3289
642k
{
3290
642k
    auto r = read_one_of_code_unit(range, "+-");
3291
642k
    if (!r) {
3292
628k
        if (r.error() == parse_error::error) {
3293
628k
            return std::pair{range.begin(), sign_type::default_sign};
3294
628k
        }
3295
24
        return unexpected(eof_error::eof);
3296
628k
    }
3297
3298
13.9k
    auto& it = *r;
3299
13.9k
    if (*range.begin() == '-') {
3300
12.5k
        return std::pair{it, sign_type::minus_sign};
3301
12.5k
    }
3302
1.43k
    return std::pair{it, sign_type::plus_sign};
3303
13.9k
}
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESP_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESM_
_ZN3scn2v44impl18parse_numeric_signINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESC_
Line
Count
Source
3289
11.9k
{
3290
11.9k
    auto r = read_one_of_code_unit(range, "+-");
3291
11.9k
    if (!r) {
3292
11.9k
        if (r.error() == parse_error::error) {
3293
10.2k
            return std::pair{range.begin(), sign_type::default_sign};
3294
10.2k
        }
3295
1.69k
        return unexpected(eof_error::eof);
3296
11.9k
    }
3297
3298
0
    auto& it = *r;
3299
0
    if (*range.begin() == '-') {
3300
0
        return std::pair{it, sign_type::minus_sign};
3301
0
    }
3302
0
    return std::pair{it, sign_type::plus_sign};
3303
0
}
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESC_
3304
3305
template <typename CharT>
3306
class numeric_reader {
3307
public:
3308
    contiguous_range_factory<CharT> m_buffer{};
3309
};
3310
3311
/////////////////////////////////////////////////////////////////
3312
// Integer reader
3313
/////////////////////////////////////////////////////////////////
3314
3315
template <typename Iterator>
3316
struct parse_integer_prefix_result {
3317
    SCN_NO_UNIQUE_ADDRESS Iterator iterator;
3318
    int parsed_base{0};
3319
    sign_type sign{sign_type::default_sign};
3320
    bool is_zero{false};
3321
};
3322
3323
template <typename Range>
3324
auto parse_integer_bin_base_prefix(Range range)
3325
    -> parse_expected<ranges::const_iterator_t<Range>>
3326
251k
{
3327
251k
    return read_matching_string_classic_nocase(range, "0b");
3328
251k
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
3326
92.0k
{
3327
92.0k
    return read_matching_string_classic_nocase(range, "0b");
3328
92.0k
}
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3326
40
{
3327
40
    return read_matching_string_classic_nocase(range, "0b");
3328
40
}
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3326
92.2k
{
3327
92.2k
    return read_matching_string_classic_nocase(range, "0b");
3328
92.2k
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
3326
33.3k
{
3327
33.3k
    return read_matching_string_classic_nocase(range, "0b");
3328
33.3k
}
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3326
46
{
3327
46
    return read_matching_string_classic_nocase(range, "0b");
3328
46
}
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3326
33.4k
{
3327
33.4k
    return read_matching_string_classic_nocase(range, "0b");
3328
33.4k
}
3329
3330
template <typename Range>
3331
auto parse_integer_hex_base_prefix(Range range)
3332
    -> parse_expected<ranges::const_iterator_t<Range>>
3333
342k
{
3334
342k
    return read_matching_string_classic_nocase(range, "0x");
3335
342k
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
3333
136k
{
3334
136k
    return read_matching_string_classic_nocase(range, "0x");
3335
136k
}
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3333
398
{
3334
398
    return read_matching_string_classic_nocase(range, "0x");
3335
398
}
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3333
137k
{
3334
137k
    return read_matching_string_classic_nocase(range, "0x");
3335
137k
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
3333
33.4k
{
3334
33.4k
    return read_matching_string_classic_nocase(range, "0x");
3335
33.4k
}
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3333
264
{
3334
264
    return read_matching_string_classic_nocase(range, "0x");
3335
264
}
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3333
34.5k
{
3334
34.5k
    return read_matching_string_classic_nocase(range, "0x");
3335
34.5k
}
3336
3337
template <typename Range>
3338
auto parse_integer_oct_base_prefix(Range range, bool& zero_parsed)
3339
    -> parse_expected<ranges::const_iterator_t<Range>>
3340
284k
{
3341
284k
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3342
1.90k
        return *r;
3343
1.90k
    }
3344
3345
282k
    if (auto r = read_matching_code_unit(range, '0')) {
3346
84.4k
        zero_parsed = true;
3347
84.4k
        return *r;
3348
84.4k
    }
3349
3350
198k
    return unexpected(parse_error::error);
3351
282k
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_Rb
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
3340
108k
{
3341
108k
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3342
952
        return *r;
3343
952
    }
3344
3345
107k
    if (auto r = read_matching_code_unit(range, '0')) {
3346
41.8k
        zero_parsed = true;
3347
41.8k
        return *r;
3348
41.8k
    }
3349
3350
65.8k
    return unexpected(parse_error::error);
3351
107k
}
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_Rb
Line
Count
Source
3340
40
{
3341
40
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3342
0
        return *r;
3343
0
    }
3344
3345
40
    if (auto r = read_matching_code_unit(range, '0')) {
3346
0
        zero_parsed = true;
3347
0
        return *r;
3348
0
    }
3349
3350
40
    return unexpected(parse_error::error);
3351
40
}
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_Rb
Line
Count
Source
3340
108k
{
3341
108k
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3342
952
        return *r;
3343
952
    }
3344
3345
107k
    if (auto r = read_matching_code_unit(range, '0')) {
3346
41.8k
        zero_parsed = true;
3347
41.8k
        return *r;
3348
41.8k
    }
3349
3350
66.1k
    return unexpected(parse_error::error);
3351
107k
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_Rb
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
3340
33.3k
{
3341
33.3k
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3342
0
        return *r;
3343
0
    }
3344
3345
33.3k
    if (auto r = read_matching_code_unit(range, '0')) {
3346
328
        zero_parsed = true;
3347
328
        return *r;
3348
328
    }
3349
3350
33.0k
    return unexpected(parse_error::error);
3351
33.3k
}
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_Rb
Line
Count
Source
3340
68
{
3341
68
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3342
0
        return *r;
3343
0
    }
3344
3345
68
    if (auto r = read_matching_code_unit(range, '0')) {
3346
18
        zero_parsed = true;
3347
18
        return *r;
3348
18
    }
3349
3350
50
    return unexpected(parse_error::error);
3351
68
}
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_Rb
Line
Count
Source
3340
33.4k
{
3341
33.4k
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3342
0
        return *r;
3343
0
    }
3344
3345
33.4k
    if (auto r = read_matching_code_unit(range, '0')) {
3346
356
        zero_parsed = true;
3347
356
        return *r;
3348
356
    }
3349
3350
33.0k
    return unexpected(parse_error::error);
3351
33.4k
}
3352
3353
template <typename Range>
3354
auto parse_integer_base_prefix_for_detection(Range range)
3355
    -> std::tuple<ranges::const_iterator_t<Range>, int, bool>
3356
175k
{
3357
175k
    if (auto r = parse_integer_hex_base_prefix(range)) {
3358
1.06k
        return {*r, 16, false};
3359
1.06k
    }
3360
174k
    if (auto r = parse_integer_bin_base_prefix(range)) {
3361
636
        return {*r, 2, false};
3362
636
    }
3363
173k
    {
3364
173k
        bool zero_parsed{false};
3365
173k
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3366
52.7k
            return {*r, 8, zero_parsed};
3367
52.7k
        }
3368
173k
    }
3369
120k
    return {range.begin(), 10, false};
3370
173k
}
Unexecuted instantiation: _ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_
Line
Count
Source
3356
70.8k
{
3357
70.8k
    if (auto r = parse_integer_hex_base_prefix(range)) {
3358
532
        return {*r, 16, false};
3359
532
    }
3360
70.3k
    if (auto r = parse_integer_bin_base_prefix(range)) {
3361
318
        return {*r, 2, false};
3362
318
    }
3363
69.9k
    {
3364
69.9k
        bool zero_parsed{false};
3365
69.9k
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3366
26.2k
            return {*r, 8, zero_parsed};
3367
26.2k
        }
3368
69.9k
    }
3369
43.7k
    return {range.begin(), 10, false};
3370
69.9k
}
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_
Line
Count
Source
3356
26
{
3357
26
    if (auto r = parse_integer_hex_base_prefix(range)) {
3358
0
        return {*r, 16, false};
3359
0
    }
3360
26
    if (auto r = parse_integer_bin_base_prefix(range)) {
3361
0
        return {*r, 2, false};
3362
0
    }
3363
26
    {
3364
26
        bool zero_parsed{false};
3365
26
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3366
0
            return {*r, 8, zero_parsed};
3367
0
        }
3368
26
    }
3369
26
    return {range.begin(), 10, false};
3370
26
}
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_
Line
Count
Source
3356
70.9k
{
3357
70.9k
    if (auto r = parse_integer_hex_base_prefix(range)) {
3358
532
        return {*r, 16, false};
3359
532
    }
3360
70.4k
    if (auto r = parse_integer_bin_base_prefix(range)) {
3361
318
        return {*r, 2, false};
3362
318
    }
3363
70.1k
    {
3364
70.1k
        bool zero_parsed{false};
3365
70.1k
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3366
26.1k
            return {*r, 8, zero_parsed};
3367
26.1k
        }
3368
70.1k
    }
3369
43.9k
    return {range.begin(), 10, false};
3370
70.1k
}
Unexecuted instantiation: _ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_
Line
Count
Source
3356
16.7k
{
3357
16.7k
    if (auto r = parse_integer_hex_base_prefix(range)) {
3358
0
        return {*r, 16, false};
3359
0
    }
3360
16.7k
    if (auto r = parse_integer_bin_base_prefix(range)) {
3361
0
        return {*r, 2, false};
3362
0
    }
3363
16.7k
    {
3364
16.7k
        bool zero_parsed{false};
3365
16.7k
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3366
172
            return {*r, 8, zero_parsed};
3367
172
        }
3368
16.7k
    }
3369
16.5k
    return {range.begin(), 10, false};
3370
16.7k
}
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_
Line
Count
Source
3356
38
{
3357
38
    if (auto r = parse_integer_hex_base_prefix(range)) {
3358
0
        return {*r, 16, false};
3359
0
    }
3360
38
    if (auto r = parse_integer_bin_base_prefix(range)) {
3361
0
        return {*r, 2, false};
3362
0
    }
3363
38
    {
3364
38
        bool zero_parsed{false};
3365
38
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3366
12
            return {*r, 8, zero_parsed};
3367
12
        }
3368
38
    }
3369
26
    return {range.begin(), 10, false};
3370
38
}
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_
Line
Count
Source
3356
16.7k
{
3357
16.7k
    if (auto r = parse_integer_hex_base_prefix(range)) {
3358
0
        return {*r, 16, false};
3359
0
    }
3360
16.7k
    if (auto r = parse_integer_bin_base_prefix(range)) {
3361
0
        return {*r, 2, false};
3362
0
    }
3363
16.7k
    {
3364
16.7k
        bool zero_parsed{false};
3365
16.7k
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3366
182
            return {*r, 8, zero_parsed};
3367
182
        }
3368
16.7k
    }
3369
16.6k
    return {range.begin(), 10, false};
3370
16.7k
}
3371
3372
template <typename Range>
3373
auto parse_integer_base_prefix(Range range, int base)
3374
    -> std::tuple<ranges::const_iterator_t<Range>, int, bool>
3375
1.11M
{
3376
1.11M
    switch (base) {
3377
76.8k
        case 2:
3378
            // allow 0b/0B
3379
76.8k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3380
76.8k
                    false};
3381
3382
110k
        case 8: {
3383
            // allow 0o/0O/0
3384
110k
            bool zero_parsed = false;
3385
110k
            auto it = apply_opt(
3386
110k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3387
110k
            return {it, 8, zero_parsed};
3388
0
        }
3389
3390
166k
        case 16:
3391
            // allow 0x/0X
3392
166k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3393
166k
                    false};
3394
3395
175k
        case 0:
3396
            // detect base
3397
175k
            return parse_integer_base_prefix_for_detection(range);
3398
3399
582k
        default:
3400
            // no base prefix allowed
3401
582k
            return {range.begin(), base, false};
3402
1.11M
    }
3403
1.11M
}
Unexecuted instantiation: _ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_i
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_i
Line
Count
Source
3375
412k
{
3376
412k
    switch (base) {
3377
21.7k
        case 2:
3378
            // allow 0b/0B
3379
21.7k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3380
21.7k
                    false};
3381
3382
38.7k
        case 8: {
3383
            // allow 0o/0O/0
3384
38.7k
            bool zero_parsed = false;
3385
38.7k
            auto it = apply_opt(
3386
38.7k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3387
38.7k
            return {it, 8, zero_parsed};
3388
0
        }
3389
3390
65.3k
        case 16:
3391
            // allow 0x/0X
3392
65.3k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3393
65.3k
                    false};
3394
3395
70.8k
        case 0:
3396
            // detect base
3397
70.8k
            return parse_integer_base_prefix_for_detection(range);
3398
3399
216k
        default:
3400
            // no base prefix allowed
3401
216k
            return {range.begin(), base, false};
3402
412k
    }
3403
412k
}
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_i
Line
Count
Source
3375
1.17k
{
3376
1.17k
    switch (base) {
3377
14
        case 2:
3378
            // allow 0b/0B
3379
14
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3380
14
                    false};
3381
3382
14
        case 8: {
3383
            // allow 0o/0O/0
3384
14
            bool zero_parsed = false;
3385
14
            auto it = apply_opt(
3386
14
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3387
14
            return {it, 8, zero_parsed};
3388
0
        }
3389
3390
372
        case 16:
3391
            // allow 0x/0X
3392
372
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3393
372
                    false};
3394
3395
26
        case 0:
3396
            // detect base
3397
26
            return parse_integer_base_prefix_for_detection(range);
3398
3399
748
        default:
3400
            // no base prefix allowed
3401
748
            return {range.begin(), base, false};
3402
1.17k
    }
3403
1.17k
}
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_i
Line
Count
Source
3375
427k
{
3376
427k
    switch (base) {
3377
21.8k
        case 2:
3378
            // allow 0b/0B
3379
21.8k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3380
21.8k
                    false};
3381
3382
38.8k
        case 8: {
3383
            // allow 0o/0O/0
3384
38.8k
            bool zero_parsed = false;
3385
38.8k
            auto it = apply_opt(
3386
38.8k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3387
38.8k
            return {it, 8, zero_parsed};
3388
0
        }
3389
3390
66.2k
        case 16:
3391
            // allow 0x/0X
3392
66.2k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3393
66.2k
                    false};
3394
3395
70.9k
        case 0:
3396
            // detect base
3397
70.9k
            return parse_integer_base_prefix_for_detection(range);
3398
3399
229k
        default:
3400
            // no base prefix allowed
3401
229k
            return {range.begin(), base, false};
3402
427k
    }
3403
427k
}
Unexecuted instantiation: _ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_i
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_i
Line
Count
Source
3375
133k
{
3376
133k
    switch (base) {
3377
16.5k
        case 2:
3378
            // allow 0b/0B
3379
16.5k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3380
16.5k
                    false};
3381
3382
16.5k
        case 8: {
3383
            // allow 0o/0O/0
3384
16.5k
            bool zero_parsed = false;
3385
16.5k
            auto it = apply_opt(
3386
16.5k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3387
16.5k
            return {it, 8, zero_parsed};
3388
0
        }
3389
3390
16.7k
        case 16:
3391
            // allow 0x/0X
3392
16.7k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3393
16.7k
                    false};
3394
3395
16.7k
        case 0:
3396
            // detect base
3397
16.7k
            return parse_integer_base_prefix_for_detection(range);
3398
3399
66.7k
        default:
3400
            // no base prefix allowed
3401
66.7k
            return {range.begin(), base, false};
3402
133k
    }
3403
133k
}
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_i
Line
Count
Source
3375
764
{
3376
764
    switch (base) {
3377
8
        case 2:
3378
            // allow 0b/0B
3379
8
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3380
8
                    false};
3381
3382
30
        case 8: {
3383
            // allow 0o/0O/0
3384
30
            bool zero_parsed = false;
3385
30
            auto it = apply_opt(
3386
30
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3387
30
            return {it, 8, zero_parsed};
3388
0
        }
3389
3390
226
        case 16:
3391
            // allow 0x/0X
3392
226
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3393
226
                    false};
3394
3395
38
        case 0:
3396
            // detect base
3397
38
            return parse_integer_base_prefix_for_detection(range);
3398
3399
462
        default:
3400
            // no base prefix allowed
3401
462
            return {range.begin(), base, false};
3402
764
    }
3403
764
}
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_i
Line
Count
Source
3375
136k
{
3376
136k
    switch (base) {
3377
16.6k
        case 2:
3378
            // allow 0b/0B
3379
16.6k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3380
16.6k
                    false};
3381
3382
16.6k
        case 8: {
3383
            // allow 0o/0O/0
3384
16.6k
            bool zero_parsed = false;
3385
16.6k
            auto it = apply_opt(
3386
16.6k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3387
16.6k
            return {it, 8, zero_parsed};
3388
0
        }
3389
3390
17.7k
        case 16:
3391
            // allow 0x/0X
3392
17.7k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3393
17.7k
                    false};
3394
3395
16.7k
        case 0:
3396
            // detect base
3397
16.7k
            return parse_integer_base_prefix_for_detection(range);
3398
3399
68.8k
        default:
3400
            // no base prefix allowed
3401
68.8k
            return {range.begin(), base, false};
3402
136k
    }
3403
136k
}
3404
3405
template <typename Range>
3406
auto parse_integer_prefix(Range range, int base) -> eof_expected<
3407
    parse_integer_prefix_result<ranges::const_iterator_t<Range>>>
3408
1.11M
{
3409
1.11M
    SCN_TRY(sign_result, parse_numeric_sign(range));
3410
1.11M
    auto [base_prefix_begin_it, sign] = sign_result;
3411
3412
1.11M
    auto [digits_begin_it, parsed_base, parsed_zero] =
3413
1.11M
        parse_integer_base_prefix(
3414
1.11M
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3415
3416
1.11M
    if (parsed_zero) {
3417
84.4k
        if (digits_begin_it == range.end() ||
3418
84.4k
            char_to_int(*digits_begin_it) >= 8) {
3419
62.9k
            digits_begin_it = base_prefix_begin_it;
3420
62.9k
        }
3421
21.4k
        else {
3422
21.4k
            parsed_zero = false;
3423
21.4k
        }
3424
84.4k
    }
3425
1.02M
    else {
3426
1.02M
        if (digits_begin_it == range.end() ||
3427
1.02M
            char_to_int(*digits_begin_it) >= parsed_base) {
3428
339k
            digits_begin_it = base_prefix_begin_it;
3429
339k
        }
3430
1.02M
    }
3431
3432
1.11M
    if (sign == sign_type::default_sign) {
3433
983k
        sign = sign_type::plus_sign;
3434
983k
    }
3435
1.11M
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3436
1.11M
        digits_begin_it, parsed_base, sign, parsed_zero};
3437
1.11M
}
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESJ_i
_ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESH_i
Line
Count
Source
3408
412k
{
3409
412k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3410
412k
    auto [base_prefix_begin_it, sign] = sign_result;
3411
3412
412k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3413
412k
        parse_integer_base_prefix(
3414
412k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3415
3416
412k
    if (parsed_zero) {
3417
41.8k
        if (digits_begin_it == range.end() ||
3418
41.8k
            char_to_int(*digits_begin_it) >= 8) {
3419
31.2k
            digits_begin_it = base_prefix_begin_it;
3420
31.2k
        }
3421
10.6k
        else {
3422
10.6k
            parsed_zero = false;
3423
10.6k
        }
3424
41.8k
    }
3425
370k
    else {
3426
370k
        if (digits_begin_it == range.end() ||
3427
370k
            char_to_int(*digits_begin_it) >= parsed_base) {
3428
35.9k
            digits_begin_it = base_prefix_begin_it;
3429
35.9k
        }
3430
370k
    }
3431
3432
412k
    if (sign == sign_type::default_sign) {
3433
358k
        sign = sign_type::plus_sign;
3434
358k
    }
3435
412k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3436
412k
        digits_begin_it, parsed_base, sign, parsed_zero};
3437
412k
}
_ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESG_i
Line
Count
Source
3408
1.17k
{
3409
1.17k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3410
1.17k
    auto [base_prefix_begin_it, sign] = sign_result;
3411
3412
1.17k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3413
1.17k
        parse_integer_base_prefix(
3414
1.17k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3415
3416
1.17k
    if (parsed_zero) {
3417
0
        if (digits_begin_it == range.end() ||
3418
0
            char_to_int(*digits_begin_it) >= 8) {
3419
0
            digits_begin_it = base_prefix_begin_it;
3420
0
        }
3421
0
        else {
3422
0
            parsed_zero = false;
3423
0
        }
3424
0
    }
3425
1.17k
    else {
3426
1.17k
        if (digits_begin_it == range.end() ||
3427
1.17k
            char_to_int(*digits_begin_it) >= parsed_base) {
3428
1.17k
            digits_begin_it = base_prefix_begin_it;
3429
1.17k
        }
3430
1.17k
    }
3431
3432
1.17k
    if (sign == sign_type::default_sign) {
3433
1.17k
        sign = sign_type::plus_sign;
3434
1.17k
    }
3435
1.17k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3436
1.17k
        digits_begin_it, parsed_base, sign, parsed_zero};
3437
1.17k
}
_ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESE_i
Line
Count
Source
3408
417k
{
3409
417k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3410
417k
    auto [base_prefix_begin_it, sign] = sign_result;
3411
3412
417k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3413
417k
        parse_integer_base_prefix(
3414
417k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3415
3416
417k
    if (parsed_zero) {
3417
41.8k
        if (digits_begin_it == range.end() ||
3418
41.8k
            char_to_int(*digits_begin_it) >= 8) {
3419
31.2k
            digits_begin_it = base_prefix_begin_it;
3420
31.2k
        }
3421
10.6k
        else {
3422
10.6k
            parsed_zero = false;
3423
10.6k
        }
3424
41.8k
    }
3425
375k
    else {
3426
375k
        if (digits_begin_it == range.end() ||
3427
375k
            char_to_int(*digits_begin_it) >= parsed_base) {
3428
39.6k
            digits_begin_it = base_prefix_begin_it;
3429
39.6k
        }
3430
375k
    }
3431
3432
417k
    if (sign == sign_type::default_sign) {
3433
362k
        sign = sign_type::plus_sign;
3434
362k
    }
3435
417k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3436
417k
        digits_begin_it, parsed_base, sign, parsed_zero};
3437
417k
}
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESJ_i
_ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESH_i
Line
Count
Source
3408
133k
{
3409
133k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3410
133k
    auto [base_prefix_begin_it, sign] = sign_result;
3411
3412
133k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3413
133k
        parse_integer_base_prefix(
3414
133k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3415
3416
133k
    if (parsed_zero) {
3417
328
        if (digits_begin_it == range.end() ||
3418
328
            char_to_int(*digits_begin_it) >= 8) {
3419
232
            digits_begin_it = base_prefix_begin_it;
3420
232
        }
3421
96
        else {
3422
96
            parsed_zero = false;
3423
96
        }
3424
328
    }
3425
133k
    else {
3426
133k
        if (digits_begin_it == range.end() ||
3427
133k
            char_to_int(*digits_begin_it) >= parsed_base) {
3428
129k
            digits_begin_it = base_prefix_begin_it;
3429
129k
        }
3430
133k
    }
3431
3432
133k
    if (sign == sign_type::default_sign) {
3433
123k
        sign = sign_type::plus_sign;
3434
123k
    }
3435
133k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3436
133k
        digits_begin_it, parsed_base, sign, parsed_zero};
3437
133k
}
_ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESG_i
Line
Count
Source
3408
764
{
3409
764
    SCN_TRY(sign_result, parse_numeric_sign(range));
3410
764
    auto [base_prefix_begin_it, sign] = sign_result;
3411
3412
764
    auto [digits_begin_it, parsed_base, parsed_zero] =
3413
764
        parse_integer_base_prefix(
3414
764
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3415
3416
764
    if (parsed_zero) {
3417
18
        if (digits_begin_it == range.end() ||
3418
18
            char_to_int(*digits_begin_it) >= 8) {
3419
18
            digits_begin_it = base_prefix_begin_it;
3420
18
        }
3421
0
        else {
3422
0
            parsed_zero = false;
3423
0
        }
3424
18
    }
3425
746
    else {
3426
746
        if (digits_begin_it == range.end() ||
3427
746
            char_to_int(*digits_begin_it) >= parsed_base) {
3428
700
            digits_begin_it = base_prefix_begin_it;
3429
700
        }
3430
746
    }
3431
3432
764
    if (sign == sign_type::default_sign) {
3433
764
        sign = sign_type::plus_sign;
3434
764
    }
3435
764
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3436
764
        digits_begin_it, parsed_base, sign, parsed_zero};
3437
764
}
_ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESE_i
Line
Count
Source
3408
136k
{
3409
136k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3410
136k
    auto [base_prefix_begin_it, sign] = sign_result;
3411
3412
136k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3413
136k
        parse_integer_base_prefix(
3414
136k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3415
3416
136k
    if (parsed_zero) {
3417
356
        if (digits_begin_it == range.end() ||
3418
356
            char_to_int(*digits_begin_it) >= 8) {
3419
260
            digits_begin_it = base_prefix_begin_it;
3420
260
        }
3421
96
        else {
3422
96
            parsed_zero = false;
3423
96
        }
3424
356
    }
3425
136k
    else {
3426
136k
        if (digits_begin_it == range.end() ||
3427
136k
            char_to_int(*digits_begin_it) >= parsed_base) {
3428
132k
            digits_begin_it = base_prefix_begin_it;
3429
132k
        }
3430
136k
    }
3431
3432
136k
    if (sign == sign_type::default_sign) {
3433
126k
        sign = sign_type::plus_sign;
3434
126k
    }
3435
136k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3436
136k
        digits_begin_it, parsed_base, sign, parsed_zero};
3437
136k
}
_ZN3scn2v44impl20parse_integer_prefixINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEEEESC_i
Line
Count
Source
3408
11.9k
{
3409
11.9k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3410
10.2k
    auto [base_prefix_begin_it, sign] = sign_result;
3411
3412
10.2k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3413
10.2k
        parse_integer_base_prefix(
3414
10.2k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3415
3416
10.2k
    if (parsed_zero) {
3417
0
        if (digits_begin_it == range.end() ||
3418
0
            char_to_int(*digits_begin_it) >= 8) {
3419
0
            digits_begin_it = base_prefix_begin_it;
3420
0
        }
3421
0
        else {
3422
0
            parsed_zero = false;
3423
0
        }
3424
0
    }
3425
10.2k
    else {
3426
10.2k
        if (digits_begin_it == range.end() ||
3427
10.2k
            char_to_int(*digits_begin_it) >= parsed_base) {
3428
96
            digits_begin_it = base_prefix_begin_it;
3429
96
        }
3430
10.2k
    }
3431
3432
10.2k
    if (sign == sign_type::default_sign) {
3433
10.2k
        sign = sign_type::plus_sign;
3434
10.2k
    }
3435
10.2k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3436
10.2k
        digits_begin_it, parsed_base, sign, parsed_zero};
3437
11.9k
}
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEEEESC_i
3438
3439
template <typename Range>
3440
auto parse_integer_digits_without_thsep(Range range, int base)
3441
    -> scan_expected<ranges::const_iterator_t<Range>>
3442
854k
{
3443
854k
    using char_type = detail::char_t<Range>;
3444
3445
854k
    if constexpr (ranges::contiguous_range<Range>) {
3446
434k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3447
1.04k
            return detail::unexpected_scan_error(
3448
1.04k
                scan_error::invalid_scanned_value,
3449
1.04k
                "Failed to parse integer: No digits found");
3450
1.04k
        }
3451
433k
        return range.end();
3452
    }
3453
419k
    else {
3454
419k
        return read_while1_code_unit(range,
3455
1.27M
                                     [&](char_type ch) noexcept {
3456
1.27M
                                         return char_to_int(ch) < base;
3457
1.27M
                                     })
Unexecuted instantiation: _ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iENKUlcE_clEc
_ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_iENKUlcE_clEc
Line
Count
Source
3455
1.15M
                                     [&](char_type ch) noexcept {
3456
1.15M
                                         return char_to_int(ch) < base;
3457
1.15M
                                     })
_ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_iENKUlcE_clEc
Line
Count
Source
3455
1.15k
                                     [&](char_type ch) noexcept {
3456
1.15k
                                         return char_to_int(ch) < base;
3457
1.15k
                                     })
Unexecuted instantiation: _ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iENKUlwE_clEw
_ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_iENKUlwE_clEw
Line
Count
Source
3455
116k
                                     [&](char_type ch) noexcept {
3456
116k
                                         return char_to_int(ch) < base;
3457
116k
                                     })
_ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_iENKUlwE_clEw
Line
Count
Source
3455
718
                                     [&](char_type ch) noexcept {
3456
718
                                         return char_to_int(ch) < base;
3457
718
                                     })
3458
419k
            .transform_error(map_parse_error_to_scan_error(
3459
419k
                scan_error::invalid_scanned_value,
3460
419k
                "Failed to parse integer: No digits found"));
3461
419k
    }
3462
854k
}
Unexecuted instantiation: _ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_i
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_i
Line
Count
Source
3442
309k
{
3443
309k
    using char_type = detail::char_t<Range>;
3444
3445
    if constexpr (ranges::contiguous_range<Range>) {
3446
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3447
            return detail::unexpected_scan_error(
3448
                scan_error::invalid_scanned_value,
3449
                "Failed to parse integer: No digits found");
3450
        }
3451
        return range.end();
3452
    }
3453
309k
    else {
3454
309k
        return read_while1_code_unit(range,
3455
309k
                                     [&](char_type ch) noexcept {
3456
309k
                                         return char_to_int(ch) < base;
3457
309k
                                     })
3458
309k
            .transform_error(map_parse_error_to_scan_error(
3459
309k
                scan_error::invalid_scanned_value,
3460
309k
                "Failed to parse integer: No digits found"));
3461
309k
    }
3462
309k
}
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_i
Line
Count
Source
3442
1.15k
{
3443
1.15k
    using char_type = detail::char_t<Range>;
3444
3445
    if constexpr (ranges::contiguous_range<Range>) {
3446
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3447
            return detail::unexpected_scan_error(
3448
                scan_error::invalid_scanned_value,
3449
                "Failed to parse integer: No digits found");
3450
        }
3451
        return range.end();
3452
    }
3453
1.15k
    else {
3454
1.15k
        return read_while1_code_unit(range,
3455
1.15k
                                     [&](char_type ch) noexcept {
3456
1.15k
                                         return char_to_int(ch) < base;
3457
1.15k
                                     })
3458
1.15k
            .transform_error(map_parse_error_to_scan_error(
3459
1.15k
                scan_error::invalid_scanned_value,
3460
1.15k
                "Failed to parse integer: No digits found"));
3461
1.15k
    }
3462
1.15k
}
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_i
Line
Count
Source
3442
324k
{
3443
324k
    using char_type = detail::char_t<Range>;
3444
3445
324k
    if constexpr (ranges::contiguous_range<Range>) {
3446
324k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3447
891
            return detail::unexpected_scan_error(
3448
891
                scan_error::invalid_scanned_value,
3449
891
                "Failed to parse integer: No digits found");
3450
891
        }
3451
323k
        return range.end();
3452
    }
3453
    else {
3454
        return read_while1_code_unit(range,
3455
                                     [&](char_type ch) noexcept {
3456
                                         return char_to_int(ch) < base;
3457
                                     })
3458
            .transform_error(map_parse_error_to_scan_error(
3459
                scan_error::invalid_scanned_value,
3460
                "Failed to parse integer: No digits found"));
3461
    }
3462
324k
}
Unexecuted instantiation: _ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_i
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_i
Line
Count
Source
3442
107k
{
3443
107k
    using char_type = detail::char_t<Range>;
3444
3445
    if constexpr (ranges::contiguous_range<Range>) {
3446
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3447
            return detail::unexpected_scan_error(
3448
                scan_error::invalid_scanned_value,
3449
                "Failed to parse integer: No digits found");
3450
        }
3451
        return range.end();
3452
    }
3453
107k
    else {
3454
107k
        return read_while1_code_unit(range,
3455
107k
                                     [&](char_type ch) noexcept {
3456
107k
                                         return char_to_int(ch) < base;
3457
107k
                                     })
3458
107k
            .transform_error(map_parse_error_to_scan_error(
3459
107k
                scan_error::invalid_scanned_value,
3460
107k
                "Failed to parse integer: No digits found"));
3461
107k
    }
3462
107k
}
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_i
Line
Count
Source
3442
694
{
3443
694
    using char_type = detail::char_t<Range>;
3444
3445
    if constexpr (ranges::contiguous_range<Range>) {
3446
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3447
            return detail::unexpected_scan_error(
3448
                scan_error::invalid_scanned_value,
3449
                "Failed to parse integer: No digits found");
3450
        }
3451
        return range.end();
3452
    }
3453
694
    else {
3454
694
        return read_while1_code_unit(range,
3455
694
                                     [&](char_type ch) noexcept {
3456
694
                                         return char_to_int(ch) < base;
3457
694
                                     })
3458
694
            .transform_error(map_parse_error_to_scan_error(
3459
694
                scan_error::invalid_scanned_value,
3460
694
                "Failed to parse integer: No digits found"));
3461
694
    }
3462
694
}
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_i
Line
Count
Source
3442
110k
{
3443
110k
    using char_type = detail::char_t<Range>;
3444
3445
110k
    if constexpr (ranges::contiguous_range<Range>) {
3446
110k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3447
156
            return detail::unexpected_scan_error(
3448
156
                scan_error::invalid_scanned_value,
3449
156
                "Failed to parse integer: No digits found");
3450
156
        }
3451
110k
        return range.end();
3452
    }
3453
    else {
3454
        return read_while1_code_unit(range,
3455
                                     [&](char_type ch) noexcept {
3456
                                         return char_to_int(ch) < base;
3457
                                     })
3458
            .transform_error(map_parse_error_to_scan_error(
3459
                scan_error::invalid_scanned_value,
3460
                "Failed to parse integer: No digits found"));
3461
    }
3462
110k
}
3463
3464
template <typename Range, typename CharT>
3465
auto parse_integer_digits_with_thsep(
3466
    Range range,
3467
    int base,
3468
    const localized_number_formatting_options<CharT>& locale_options)
3469
    -> scan_expected<std::tuple<ranges::const_iterator_t<Range>,
3470
                                std::basic_string<CharT>,
3471
                                std::string>>
3472
163k
{
3473
163k
    std::basic_string<CharT> output;
3474
163k
    std::string thsep_indices;
3475
163k
    auto it = range.begin();
3476
163k
    bool digit_matched = false;
3477
68.3M
    for (; it != range.end(); ++it) {
3478
68.3M
        if (*it == locale_options.thousands_sep) {
3479
67.6M
            thsep_indices.push_back(
3480
67.6M
                static_cast<char>(ranges::distance(range.begin(), it)));
3481
67.6M
        }
3482
647k
        else if (char_to_int(*it) >= base) {
3483
158k
            break;
3484
158k
        }
3485
488k
        else {
3486
488k
            output.push_back(*it);
3487
488k
            digit_matched = true;
3488
488k
        }
3489
68.3M
    }
3490
163k
    if (SCN_UNLIKELY(!digit_matched)) {
3491
30.6k
        return detail::unexpected_scan_error(
3492
30.6k
            scan_error::invalid_scanned_value,
3493
30.6k
            "Failed to parse integer: No digits found");
3494
30.6k
    }
3495
132k
    return std::tuple{it, output, thsep_indices};
3496
163k
}
Unexecuted instantiation: _ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENSM_12basic_stringIT0_NSM_11char_traitsISV_EENSM_9allocatorISV_EEEENSU_IcNSW_IcEENSY_IcEEEEEEEEESP_iRKNS1_35localized_number_formatting_optionsISV_EE
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEENSM_IcNSO_IcEENSQ_IcEEEEEEEEESH_iRKNS1_35localized_number_formatting_optionsISN_EE
Line
Count
Source
3472
60.6k
{
3473
60.6k
    std::basic_string<CharT> output;
3474
60.6k
    std::string thsep_indices;
3475
60.6k
    auto it = range.begin();
3476
60.6k
    bool digit_matched = false;
3477
326k
    for (; it != range.end(); ++it) {
3478
324k
        if (*it == locale_options.thousands_sep) {
3479
31.5k
            thsep_indices.push_back(
3480
31.5k
                static_cast<char>(ranges::distance(range.begin(), it)));
3481
31.5k
        }
3482
292k
        else if (char_to_int(*it) >= base) {
3483
58.4k
            break;
3484
58.4k
        }
3485
234k
        else {
3486
234k
            output.push_back(*it);
3487
234k
            digit_matched = true;
3488
234k
        }
3489
324k
    }
3490
60.6k
    if (SCN_UNLIKELY(!digit_matched)) {
3491
3.25k
        return detail::unexpected_scan_error(
3492
3.25k
            scan_error::invalid_scanned_value,
3493
3.25k
            "Failed to parse integer: No digits found");
3494
3.25k
    }
3495
57.4k
    return std::tuple{it, output, thsep_indices};
3496
60.6k
}
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEENSR_IcNST_IcEENSV_IcEEEEEEEEESM_iRKNS1_35localized_number_formatting_optionsISS_EE
Line
Count
Source
3472
24
{
3473
24
    std::basic_string<CharT> output;
3474
24
    std::string thsep_indices;
3475
24
    auto it = range.begin();
3476
24
    bool digit_matched = false;
3477
24
    for (; it != range.end(); ++it) {
3478
24
        if (*it == locale_options.thousands_sep) {
3479
0
            thsep_indices.push_back(
3480
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3481
0
        }
3482
24
        else if (char_to_int(*it) >= base) {
3483
24
            break;
3484
24
        }
3485
0
        else {
3486
0
            output.push_back(*it);
3487
0
            digit_matched = true;
3488
0
        }
3489
24
    }
3490
24
    if (SCN_UNLIKELY(!digit_matched)) {
3491
24
        return detail::unexpected_scan_error(
3492
24
            scan_error::invalid_scanned_value,
3493
24
            "Failed to parse integer: No digits found");
3494
24
    }
3495
0
    return std::tuple{it, output, thsep_indices};
3496
24
}
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENSB_12basic_stringIT0_NSB_11char_traitsISK_EENSB_9allocatorISK_EEEENSJ_IcNSL_IcEENSN_IcEEEEEEEEESE_iRKNS1_35localized_number_formatting_optionsISK_EE
Line
Count
Source
3472
60.8k
{
3473
60.8k
    std::basic_string<CharT> output;
3474
60.8k
    std::string thsep_indices;
3475
60.8k
    auto it = range.begin();
3476
60.8k
    bool digit_matched = false;
3477
326k
    for (; it != range.end(); ++it) {
3478
324k
        if (*it == locale_options.thousands_sep) {
3479
31.4k
            thsep_indices.push_back(
3480
31.4k
                static_cast<char>(ranges::distance(range.begin(), it)));
3481
31.4k
        }
3482
292k
        else if (char_to_int(*it) >= base) {
3483
58.6k
            break;
3484
58.6k
        }
3485
233k
        else {
3486
233k
            output.push_back(*it);
3487
233k
            digit_matched = true;
3488
233k
        }
3489
324k
    }
3490
60.8k
    if (SCN_UNLIKELY(!digit_matched)) {
3491
3.52k
        return detail::unexpected_scan_error(
3492
3.52k
            scan_error::invalid_scanned_value,
3493
3.52k
            "Failed to parse integer: No digits found");
3494
3.52k
    }
3495
57.3k
    return std::tuple{it, output, thsep_indices};
3496
60.8k
}
Unexecuted instantiation: _ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENSM_12basic_stringIT0_NSM_11char_traitsISV_EENSM_9allocatorISV_EEEENSU_IcNSW_IcEENSY_IcEEEEEEEEESP_iRKNS1_35localized_number_formatting_optionsISV_EE
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEENSM_IcNSO_IcEENSQ_IcEEEEEEEEESH_iRKNS1_35localized_number_formatting_optionsISN_EE
Line
Count
Source
3472
20.7k
{
3473
20.7k
    std::basic_string<CharT> output;
3474
20.7k
    std::string thsep_indices;
3475
20.7k
    auto it = range.begin();
3476
20.7k
    bool digit_matched = false;
3477
33.8M
    for (; it != range.end(); ++it) {
3478
33.8M
        if (*it == locale_options.thousands_sep) {
3479
33.8M
            thsep_indices.push_back(
3480
33.8M
                static_cast<char>(ranges::distance(range.begin(), it)));
3481
33.8M
        }
3482
30.7k
        else if (char_to_int(*it) >= base) {
3483
20.3k
            break;
3484
20.3k
        }
3485
10.3k
        else {
3486
10.3k
            output.push_back(*it);
3487
10.3k
            digit_matched = true;
3488
10.3k
        }
3489
33.8M
    }
3490
20.7k
    if (SCN_UNLIKELY(!digit_matched)) {
3491
11.8k
        return detail::unexpected_scan_error(
3492
11.8k
            scan_error::invalid_scanned_value,
3493
11.8k
            "Failed to parse integer: No digits found");
3494
11.8k
    }
3495
8.80k
    return std::tuple{it, output, thsep_indices};
3496
20.7k
}
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEENSR_IcNST_IcEENSV_IcEEEEEEEEESM_iRKNS1_35localized_number_formatting_optionsISS_EE
Line
Count
Source
3472
52
{
3473
52
    std::basic_string<CharT> output;
3474
52
    std::string thsep_indices;
3475
52
    auto it = range.begin();
3476
52
    bool digit_matched = false;
3477
60
    for (; it != range.end(); ++it) {
3478
56
        if (*it == locale_options.thousands_sep) {
3479
0
            thsep_indices.push_back(
3480
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3481
0
        }
3482
56
        else if (char_to_int(*it) >= base) {
3483
48
            break;
3484
48
        }
3485
8
        else {
3486
8
            output.push_back(*it);
3487
8
            digit_matched = true;
3488
8
        }
3489
56
    }
3490
52
    if (SCN_UNLIKELY(!digit_matched)) {
3491
44
        return detail::unexpected_scan_error(
3492
44
            scan_error::invalid_scanned_value,
3493
44
            "Failed to parse integer: No digits found");
3494
44
    }
3495
8
    return std::tuple{it, output, thsep_indices};
3496
52
}
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENSB_12basic_stringIT0_NSB_11char_traitsISK_EENSB_9allocatorISK_EEEENSJ_IcNSL_IcEENSN_IcEEEEEEEEESE_iRKNS1_35localized_number_formatting_optionsISK_EE
Line
Count
Source
3472
20.7k
{
3473
20.7k
    std::basic_string<CharT> output;
3474
20.7k
    std::string thsep_indices;
3475
20.7k
    auto it = range.begin();
3476
20.7k
    bool digit_matched = false;
3477
33.8M
    for (; it != range.end(); ++it) {
3478
33.8M
        if (*it == locale_options.thousands_sep) {
3479
33.8M
            thsep_indices.push_back(
3480
33.8M
                static_cast<char>(ranges::distance(range.begin(), it)));
3481
33.8M
        }
3482
30.7k
        else if (char_to_int(*it) >= base) {
3483
20.4k
            break;
3484
20.4k
        }
3485
10.3k
        else {
3486
10.3k
            output.push_back(*it);
3487
10.3k
            digit_matched = true;
3488
10.3k
        }
3489
33.8M
    }
3490
20.7k
    if (SCN_UNLIKELY(!digit_matched)) {
3491
11.9k
        return detail::unexpected_scan_error(
3492
11.9k
            scan_error::invalid_scanned_value,
3493
11.9k
            "Failed to parse integer: No digits found");
3494
11.9k
    }
3495
8.81k
    return std::tuple{it, output, thsep_indices};
3496
20.7k
}
3497
3498
template <typename CharT, typename T>
3499
auto parse_integer_value(std::basic_string_view<CharT> source,
3500
                         T& value,
3501
                         sign_type sign,
3502
                         int base)
3503
    -> scan_expected<typename std::basic_string_view<CharT>::iterator>;
3504
3505
template <typename T>
3506
void parse_integer_value_exhaustive_valid(std::string_view source, T& value);
3507
3508
#define SCN_DECLARE_INTEGER_READER_TEMPLATE(CharT, IntT)                    \
3509
    extern template auto parse_integer_value(                               \
3510
        std::basic_string_view<CharT> source, IntT& value, sign_type sign,  \
3511
        int base)                                                           \
3512
        -> scan_expected<typename std::basic_string_view<CharT>::iterator>; \
3513
    extern template void parse_integer_value_exhaustive_valid(              \
3514
        std::string_view, IntT&);
3515
3516
#if !SCN_DISABLE_TYPE_SCHAR
3517
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, signed char)
3518
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, signed char)
3519
#endif
3520
#if !SCN_DISABLE_TYPE_SHORT
3521
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, short)
3522
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, short)
3523
#endif
3524
#if !SCN_DISABLE_TYPE_INT
3525
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, int)
3526
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, int)
3527
#endif
3528
#if !SCN_DISABLE_TYPE_LONG
3529
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, long)
3530
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, long)
3531
#endif
3532
#if !SCN_DISABLE_TYPE_LONG_LONG
3533
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, long long)
3534
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, long long)
3535
#endif
3536
#if SCN_HAS_INT128 && !SCN_DISABLE_TYPE_INT128
3537
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, int128)
3538
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, int128)
3539
#endif
3540
#if !SCN_DISABLE_TYPE_UCHAR
3541
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned char)
3542
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned char)
3543
#endif
3544
#if !SCN_DISABLE_TYPE_USHORT
3545
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned short)
3546
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned short)
3547
#endif
3548
#if !SCN_DISABLE_TYPE_UINT
3549
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned int)
3550
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned int)
3551
#endif
3552
#if !SCN_DISABLE_TYPE_ULONG
3553
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned long)
3554
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned long)
3555
#endif
3556
#if !SCN_DISABLE_TYPE_ULONG_LONG
3557
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned long long)
3558
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned long long)
3559
#endif
3560
#if SCN_HAS_INT128 && !SCN_DISABLE_TYPE_UINT128
3561
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, uint128)
3562
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, uint128)
3563
#endif
3564
3565
#undef SCN_DECLARE_INTEGER_READER_TEMPLATE
3566
3567
template <typename CharT>
3568
class reader_impl_for_int
3569
    : public reader_base<reader_impl_for_int<CharT>, CharT> {
3570
public:
3571
    constexpr reader_impl_for_int() = default;
3572
3573
    void check_specs_impl(const detail::format_specs& specs,
3574
                          reader_error_handler& eh)
3575
889k
    {
3576
889k
        detail::check_int_type_specs(specs, eh);
3577
889k
    }
scn::v4::impl::reader_impl_for_int<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
3575
667k
    {
3576
667k
        detail::check_int_type_specs(specs, eh);
3577
667k
    }
scn::v4::impl::reader_impl_for_int<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
3575
222k
    {
3576
222k
        detail::check_int_type_specs(specs, eh);
3577
222k
    }
3578
3579
    template <typename Range, typename T>
3580
    auto read_default_with_base(Range range, T& value, int base)
3581
        -> scan_expected<ranges::const_iterator_t<Range>>
3582
249k
    {
3583
249k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
247k
                                   .transform_error(make_eof_scan_error));
3585
3586
247k
        if constexpr (!std::is_signed_v<T>) {
3587
119k
            if (prefix_result.sign == sign_type::minus_sign) {
3588
5.00k
                return detail::unexpected_scan_error(
3589
5.00k
                    scan_error::invalid_scanned_value,
3590
5.00k
                    "Unexpected '-' sign when parsing an "
3591
5.00k
                    "unsigned value");
3592
5.00k
            }
3593
119k
        }
3594
3595
247k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
464k
        SCN_TRY(after_digits_it,
3601
464k
                parse_integer_digits_without_thsep(
3602
464k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
464k
                    prefix_result.parsed_base));
3604
3605
464k
        auto buf = make_contiguous_buffer(
3606
464k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
464k
        SCN_TRY(result_it,
3608
180k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
180k
                                    prefix_result.parsed_base));
3610
3611
180k
        return ranges::next(prefix_result.iterator,
3612
180k
                            ranges::distance(buf.view().begin(), result_it));
3613
464k
    }
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINSt3__117basic_string_viewIcNS5_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_i
Line
Count
Source
3582
11.9k
    {
3583
11.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
10.2k
                                   .transform_error(make_eof_scan_error));
3585
3586
10.2k
        if constexpr (!std::is_signed_v<T>) {
3587
10.2k
            if (prefix_result.sign == sign_type::minus_sign) {
3588
0
                return detail::unexpected_scan_error(
3589
0
                    scan_error::invalid_scanned_value,
3590
0
                    "Unexpected '-' sign when parsing an "
3591
0
                    "unsigned value");
3592
0
            }
3593
10.2k
        }
3594
3595
10.2k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
20.5k
        SCN_TRY(after_digits_it,
3601
20.5k
                parse_integer_digits_without_thsep(
3602
20.5k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
20.5k
                    prefix_result.parsed_base));
3604
3605
20.5k
        auto buf = make_contiguous_buffer(
3606
20.5k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
20.5k
        SCN_TRY(result_it,
3608
9.16k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
9.16k
                                    prefix_result.parsed_base));
3610
3611
9.16k
        return ranges::next(prefix_result.iterator,
3612
9.16k
                            ranges::distance(buf.view().begin(), result_it));
3613
20.5k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINSt3__117basic_string_viewIwNS5_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3582
15.4k
    {
3583
15.4k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
15.4k
                                   .transform_error(make_eof_scan_error));
3585
3586
        if constexpr (!std::is_signed_v<T>) {
3587
            if (prefix_result.sign == sign_type::minus_sign) {
3588
                return detail::unexpected_scan_error(
3589
                    scan_error::invalid_scanned_value,
3590
                    "Unexpected '-' sign when parsing an "
3591
                    "unsigned value");
3592
            }
3593
        }
3594
3595
15.4k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
29.8k
        SCN_TRY(after_digits_it,
3601
29.8k
                parse_integer_digits_without_thsep(
3602
29.8k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
29.8k
                    prefix_result.parsed_base));
3604
3605
29.8k
        auto buf = make_contiguous_buffer(
3606
29.8k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
29.8k
        SCN_TRY(result_it,
3608
13.8k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
13.8k
                                    prefix_result.parsed_base));
3610
3611
13.8k
        return ranges::next(prefix_result.iterator,
3612
13.8k
                            ranges::distance(buf.view().begin(), result_it));
3613
29.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3582
17.2k
    {
3583
17.2k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
17.2k
                                   .transform_error(make_eof_scan_error));
3585
3586
        if constexpr (!std::is_signed_v<T>) {
3587
            if (prefix_result.sign == sign_type::minus_sign) {
3588
                return detail::unexpected_scan_error(
3589
                    scan_error::invalid_scanned_value,
3590
                    "Unexpected '-' sign when parsing an "
3591
                    "unsigned value");
3592
            }
3593
        }
3594
3595
17.2k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
33.2k
        SCN_TRY(after_digits_it,
3601
33.2k
                parse_integer_digits_without_thsep(
3602
33.2k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
33.2k
                    prefix_result.parsed_base));
3604
3605
33.2k
        auto buf = make_contiguous_buffer(
3606
33.2k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
33.2k
        SCN_TRY(result_it,
3608
15.7k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
15.7k
                                    prefix_result.parsed_base));
3610
3611
15.7k
        return ranges::next(prefix_result.iterator,
3612
15.7k
                            ranges::distance(buf.view().begin(), result_it));
3613
33.2k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3582
17.5k
    {
3583
17.5k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
17.5k
                                   .transform_error(make_eof_scan_error));
3585
3586
        if constexpr (!std::is_signed_v<T>) {
3587
            if (prefix_result.sign == sign_type::minus_sign) {
3588
                return detail::unexpected_scan_error(
3589
                    scan_error::invalid_scanned_value,
3590
                    "Unexpected '-' sign when parsing an "
3591
                    "unsigned value");
3592
            }
3593
        }
3594
3595
17.5k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
33.7k
        SCN_TRY(after_digits_it,
3601
33.7k
                parse_integer_digits_without_thsep(
3602
33.7k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
33.7k
                    prefix_result.parsed_base));
3604
3605
33.7k
        auto buf = make_contiguous_buffer(
3606
33.7k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
33.7k
        SCN_TRY(result_it,
3608
16.0k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
16.0k
                                    prefix_result.parsed_base));
3610
3611
16.0k
        return ranges::next(prefix_result.iterator,
3612
16.0k
                            ranges::distance(buf.view().begin(), result_it));
3613
33.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3582
12.9k
    {
3583
12.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
12.9k
                                   .transform_error(make_eof_scan_error));
3585
3586
12.9k
        if constexpr (!std::is_signed_v<T>) {
3587
12.9k
            if (prefix_result.sign == sign_type::minus_sign) {
3588
756
                return detail::unexpected_scan_error(
3589
756
                    scan_error::invalid_scanned_value,
3590
756
                    "Unexpected '-' sign when parsing an "
3591
756
                    "unsigned value");
3592
756
            }
3593
12.9k
        }
3594
3595
12.9k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
25.1k
        SCN_TRY(after_digits_it,
3601
25.1k
                parse_integer_digits_without_thsep(
3602
25.1k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
25.1k
                    prefix_result.parsed_base));
3604
3605
25.1k
        auto buf = make_contiguous_buffer(
3606
25.1k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
25.1k
        SCN_TRY(result_it,
3608
11.9k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
11.9k
                                    prefix_result.parsed_base));
3610
3611
11.9k
        return ranges::next(prefix_result.iterator,
3612
11.9k
                            ranges::distance(buf.view().begin(), result_it));
3613
25.1k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3582
14.1k
    {
3583
14.1k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
14.1k
                                   .transform_error(make_eof_scan_error));
3585
3586
14.1k
        if constexpr (!std::is_signed_v<T>) {
3587
14.1k
            if (prefix_result.sign == sign_type::minus_sign) {
3588
774
                return detail::unexpected_scan_error(
3589
774
                    scan_error::invalid_scanned_value,
3590
774
                    "Unexpected '-' sign when parsing an "
3591
774
                    "unsigned value");
3592
774
            }
3593
14.1k
        }
3594
3595
14.1k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
27.5k
        SCN_TRY(after_digits_it,
3601
27.5k
                parse_integer_digits_without_thsep(
3602
27.5k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
27.5k
                    prefix_result.parsed_base));
3604
3605
27.5k
        auto buf = make_contiguous_buffer(
3606
27.5k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
27.5k
        SCN_TRY(result_it,
3608
13.2k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
13.2k
                                    prefix_result.parsed_base));
3610
3611
13.2k
        return ranges::next(prefix_result.iterator,
3612
13.2k
                            ranges::distance(buf.view().begin(), result_it));
3613
27.5k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3582
14.3k
    {
3583
14.3k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
14.3k
                                   .transform_error(make_eof_scan_error));
3585
3586
14.3k
        if constexpr (!std::is_signed_v<T>) {
3587
14.3k
            if (prefix_result.sign == sign_type::minus_sign) {
3588
798
                return detail::unexpected_scan_error(
3589
798
                    scan_error::invalid_scanned_value,
3590
798
                    "Unexpected '-' sign when parsing an "
3591
798
                    "unsigned value");
3592
798
            }
3593
14.3k
        }
3594
3595
14.3k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
27.8k
        SCN_TRY(after_digits_it,
3601
27.8k
                parse_integer_digits_without_thsep(
3602
27.8k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
27.8k
                    prefix_result.parsed_base));
3604
3605
27.8k
        auto buf = make_contiguous_buffer(
3606
27.8k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
27.8k
        SCN_TRY(result_it,
3608
13.4k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
13.4k
                                    prefix_result.parsed_base));
3610
3611
13.4k
        return ranges::next(prefix_result.iterator,
3612
13.4k
                            ranges::distance(buf.view().begin(), result_it));
3613
27.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3582
4.17k
    {
3583
4.17k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
4.17k
                                   .transform_error(make_eof_scan_error));
3585
3586
        if constexpr (!std::is_signed_v<T>) {
3587
            if (prefix_result.sign == sign_type::minus_sign) {
3588
                return detail::unexpected_scan_error(
3589
                    scan_error::invalid_scanned_value,
3590
                    "Unexpected '-' sign when parsing an "
3591
                    "unsigned value");
3592
            }
3593
        }
3594
3595
4.17k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
8.33k
        SCN_TRY(after_digits_it,
3601
8.33k
                parse_integer_digits_without_thsep(
3602
8.33k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
8.33k
                    prefix_result.parsed_base));
3604
3605
8.33k
        auto buf = make_contiguous_buffer(
3606
8.33k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
8.33k
        SCN_TRY(result_it,
3608
102
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
102
                                    prefix_result.parsed_base));
3610
3611
102
        return ranges::next(prefix_result.iterator,
3612
102
                            ranges::distance(buf.view().begin(), result_it));
3613
8.33k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3582
4.76k
    {
3583
4.76k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
4.76k
                                   .transform_error(make_eof_scan_error));
3585
3586
        if constexpr (!std::is_signed_v<T>) {
3587
            if (prefix_result.sign == sign_type::minus_sign) {
3588
                return detail::unexpected_scan_error(
3589
                    scan_error::invalid_scanned_value,
3590
                    "Unexpected '-' sign when parsing an "
3591
                    "unsigned value");
3592
            }
3593
        }
3594
3595
4.76k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
9.52k
        SCN_TRY(after_digits_it,
3601
9.52k
                parse_integer_digits_without_thsep(
3602
9.52k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
9.52k
                    prefix_result.parsed_base));
3604
3605
9.52k
        auto buf = make_contiguous_buffer(
3606
9.52k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
9.52k
        SCN_TRY(result_it,
3608
126
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
126
                                    prefix_result.parsed_base));
3610
3611
126
        return ranges::next(prefix_result.iterator,
3612
126
                            ranges::distance(buf.view().begin(), result_it));
3613
9.52k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3582
4.22k
    {
3583
4.22k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
4.22k
                                   .transform_error(make_eof_scan_error));
3585
3586
        if constexpr (!std::is_signed_v<T>) {
3587
            if (prefix_result.sign == sign_type::minus_sign) {
3588
                return detail::unexpected_scan_error(
3589
                    scan_error::invalid_scanned_value,
3590
                    "Unexpected '-' sign when parsing an "
3591
                    "unsigned value");
3592
            }
3593
        }
3594
3595
4.22k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
8.43k
        SCN_TRY(after_digits_it,
3601
8.43k
                parse_integer_digits_without_thsep(
3602
8.43k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
8.43k
                    prefix_result.parsed_base));
3604
3605
8.43k
        auto buf = make_contiguous_buffer(
3606
8.43k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
8.43k
        SCN_TRY(result_it,
3608
159
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
159
                                    prefix_result.parsed_base));
3610
3611
159
        return ranges::next(prefix_result.iterator,
3612
159
                            ranges::distance(buf.view().begin(), result_it));
3613
8.43k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3582
4.15k
    {
3583
4.15k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
4.15k
                                   .transform_error(make_eof_scan_error));
3585
3586
4.15k
        if constexpr (!std::is_signed_v<T>) {
3587
4.15k
            if (prefix_result.sign == sign_type::minus_sign) {
3588
51
                return detail::unexpected_scan_error(
3589
51
                    scan_error::invalid_scanned_value,
3590
51
                    "Unexpected '-' sign when parsing an "
3591
51
                    "unsigned value");
3592
51
            }
3593
4.15k
        }
3594
3595
4.15k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
8.31k
        SCN_TRY(after_digits_it,
3601
8.31k
                parse_integer_digits_without_thsep(
3602
8.31k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
8.31k
                    prefix_result.parsed_base));
3604
3605
8.31k
        auto buf = make_contiguous_buffer(
3606
8.31k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
8.31k
        SCN_TRY(result_it,
3608
132
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
132
                                    prefix_result.parsed_base));
3610
3611
132
        return ranges::next(prefix_result.iterator,
3612
132
                            ranges::distance(buf.view().begin(), result_it));
3613
8.31k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3582
4.75k
    {
3583
4.75k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
4.75k
                                   .transform_error(make_eof_scan_error));
3585
3586
4.75k
        if constexpr (!std::is_signed_v<T>) {
3587
4.75k
            if (prefix_result.sign == sign_type::minus_sign) {
3588
51
                return detail::unexpected_scan_error(
3589
51
                    scan_error::invalid_scanned_value,
3590
51
                    "Unexpected '-' sign when parsing an "
3591
51
                    "unsigned value");
3592
51
            }
3593
4.75k
        }
3594
3595
4.75k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
9.50k
        SCN_TRY(after_digits_it,
3601
9.50k
                parse_integer_digits_without_thsep(
3602
9.50k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
9.50k
                    prefix_result.parsed_base));
3604
3605
9.50k
        auto buf = make_contiguous_buffer(
3606
9.50k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
9.50k
        SCN_TRY(result_it,
3608
150
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
150
                                    prefix_result.parsed_base));
3610
3611
150
        return ranges::next(prefix_result.iterator,
3612
150
                            ranges::distance(buf.view().begin(), result_it));
3613
9.50k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3582
4.20k
    {
3583
4.20k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
4.20k
                                   .transform_error(make_eof_scan_error));
3585
3586
4.20k
        if constexpr (!std::is_signed_v<T>) {
3587
4.20k
            if (prefix_result.sign == sign_type::minus_sign) {
3588
57
                return detail::unexpected_scan_error(
3589
57
                    scan_error::invalid_scanned_value,
3590
57
                    "Unexpected '-' sign when parsing an "
3591
57
                    "unsigned value");
3592
57
            }
3593
4.20k
        }
3594
3595
4.20k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
8.39k
        SCN_TRY(after_digits_it,
3601
8.39k
                parse_integer_digits_without_thsep(
3602
8.39k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
8.39k
                    prefix_result.parsed_base));
3604
3605
8.39k
        auto buf = make_contiguous_buffer(
3606
8.39k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
8.39k
        SCN_TRY(result_it,
3608
180
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
180
                                    prefix_result.parsed_base));
3610
3611
180
        return ranges::next(prefix_result.iterator,
3612
180
                            ranges::distance(buf.view().begin(), result_it));
3613
8.39k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3582
4.17k
    {
3583
4.17k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
4.17k
                                   .transform_error(make_eof_scan_error));
3585
3586
        if constexpr (!std::is_signed_v<T>) {
3587
            if (prefix_result.sign == sign_type::minus_sign) {
3588
                return detail::unexpected_scan_error(
3589
                    scan_error::invalid_scanned_value,
3590
                    "Unexpected '-' sign when parsing an "
3591
                    "unsigned value");
3592
            }
3593
        }
3594
3595
4.17k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
4.31k
        SCN_TRY(after_digits_it,
3601
4.31k
                parse_integer_digits_without_thsep(
3602
4.31k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
4.31k
                    prefix_result.parsed_base));
3604
3605
4.31k
        auto buf = make_contiguous_buffer(
3606
4.31k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
4.31k
        SCN_TRY(result_it,
3608
102
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
102
                                    prefix_result.parsed_base));
3610
3611
102
        return ranges::next(prefix_result.iterator,
3612
102
                            ranges::distance(buf.view().begin(), result_it));
3613
4.31k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3582
4.19k
    {
3583
4.19k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
4.19k
                                   .transform_error(make_eof_scan_error));
3585
3586
        if constexpr (!std::is_signed_v<T>) {
3587
            if (prefix_result.sign == sign_type::minus_sign) {
3588
                return detail::unexpected_scan_error(
3589
                    scan_error::invalid_scanned_value,
3590
                    "Unexpected '-' sign when parsing an "
3591
                    "unsigned value");
3592
            }
3593
        }
3594
3595
4.19k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
4.33k
        SCN_TRY(after_digits_it,
3601
4.33k
                parse_integer_digits_without_thsep(
3602
4.33k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
4.33k
                    prefix_result.parsed_base));
3604
3605
4.33k
        auto buf = make_contiguous_buffer(
3606
4.33k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
4.33k
        SCN_TRY(result_it,
3608
126
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
126
                                    prefix_result.parsed_base));
3610
3611
126
        return ranges::next(prefix_result.iterator,
3612
126
                            ranges::distance(buf.view().begin(), result_it));
3613
4.33k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3582
4.22k
    {
3583
4.22k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
4.22k
                                   .transform_error(make_eof_scan_error));
3585
3586
        if constexpr (!std::is_signed_v<T>) {
3587
            if (prefix_result.sign == sign_type::minus_sign) {
3588
                return detail::unexpected_scan_error(
3589
                    scan_error::invalid_scanned_value,
3590
                    "Unexpected '-' sign when parsing an "
3591
                    "unsigned value");
3592
            }
3593
        }
3594
3595
4.22k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
4.38k
        SCN_TRY(after_digits_it,
3601
4.38k
                parse_integer_digits_without_thsep(
3602
4.38k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
4.38k
                    prefix_result.parsed_base));
3604
3605
4.38k
        auto buf = make_contiguous_buffer(
3606
4.38k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
4.38k
        SCN_TRY(result_it,
3608
159
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
159
                                    prefix_result.parsed_base));
3610
3611
159
        return ranges::next(prefix_result.iterator,
3612
159
                            ranges::distance(buf.view().begin(), result_it));
3613
4.38k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3582
4.15k
    {
3583
4.15k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
4.15k
                                   .transform_error(make_eof_scan_error));
3585
3586
4.15k
        if constexpr (!std::is_signed_v<T>) {
3587
4.15k
            if (prefix_result.sign == sign_type::minus_sign) {
3588
51
                return detail::unexpected_scan_error(
3589
51
                    scan_error::invalid_scanned_value,
3590
51
                    "Unexpected '-' sign when parsing an "
3591
51
                    "unsigned value");
3592
51
            }
3593
4.15k
        }
3594
3595
4.15k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
4.32k
        SCN_TRY(after_digits_it,
3601
4.32k
                parse_integer_digits_without_thsep(
3602
4.32k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
4.32k
                    prefix_result.parsed_base));
3604
3605
4.32k
        auto buf = make_contiguous_buffer(
3606
4.32k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
4.32k
        SCN_TRY(result_it,
3608
132
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
132
                                    prefix_result.parsed_base));
3610
3611
132
        return ranges::next(prefix_result.iterator,
3612
132
                            ranges::distance(buf.view().begin(), result_it));
3613
4.32k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3582
4.17k
    {
3583
4.17k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
4.17k
                                   .transform_error(make_eof_scan_error));
3585
3586
4.17k
        if constexpr (!std::is_signed_v<T>) {
3587
4.17k
            if (prefix_result.sign == sign_type::minus_sign) {
3588
51
                return detail::unexpected_scan_error(
3589
51
                    scan_error::invalid_scanned_value,
3590
51
                    "Unexpected '-' sign when parsing an "
3591
51
                    "unsigned value");
3592
51
            }
3593
4.17k
        }
3594
3595
4.17k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
4.34k
        SCN_TRY(after_digits_it,
3601
4.34k
                parse_integer_digits_without_thsep(
3602
4.34k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
4.34k
                    prefix_result.parsed_base));
3604
3605
4.34k
        auto buf = make_contiguous_buffer(
3606
4.34k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
4.34k
        SCN_TRY(result_it,
3608
150
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
150
                                    prefix_result.parsed_base));
3610
3611
150
        return ranges::next(prefix_result.iterator,
3612
150
                            ranges::distance(buf.view().begin(), result_it));
3613
4.34k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3582
4.20k
    {
3583
4.20k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
4.20k
                                   .transform_error(make_eof_scan_error));
3585
3586
4.20k
        if constexpr (!std::is_signed_v<T>) {
3587
4.20k
            if (prefix_result.sign == sign_type::minus_sign) {
3588
57
                return detail::unexpected_scan_error(
3589
57
                    scan_error::invalid_scanned_value,
3590
57
                    "Unexpected '-' sign when parsing an "
3591
57
                    "unsigned value");
3592
57
            }
3593
4.20k
        }
3594
3595
4.20k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
4.38k
        SCN_TRY(after_digits_it,
3601
4.38k
                parse_integer_digits_without_thsep(
3602
4.38k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
4.38k
                    prefix_result.parsed_base));
3604
3605
4.38k
        auto buf = make_contiguous_buffer(
3606
4.38k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
4.38k
        SCN_TRY(result_it,
3608
180
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
180
                                    prefix_result.parsed_base));
3610
3611
180
        return ranges::next(prefix_result.iterator,
3612
180
                            ranges::distance(buf.view().begin(), result_it));
3613
4.38k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3582
15.4k
    {
3583
15.4k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
15.4k
                                   .transform_error(make_eof_scan_error));
3585
3586
        if constexpr (!std::is_signed_v<T>) {
3587
            if (prefix_result.sign == sign_type::minus_sign) {
3588
                return detail::unexpected_scan_error(
3589
                    scan_error::invalid_scanned_value,
3590
                    "Unexpected '-' sign when parsing an "
3591
                    "unsigned value");
3592
            }
3593
        }
3594
3595
15.4k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
30.9k
        SCN_TRY(after_digits_it,
3601
30.9k
                parse_integer_digits_without_thsep(
3602
30.9k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
30.9k
                    prefix_result.parsed_base));
3604
3605
30.9k
        auto buf = make_contiguous_buffer(
3606
30.9k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
30.9k
        SCN_TRY(result_it,
3608
13.8k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
13.8k
                                    prefix_result.parsed_base));
3610
3611
13.8k
        return ranges::next(prefix_result.iterator,
3612
13.8k
                            ranges::distance(buf.view().begin(), result_it));
3613
30.9k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3582
18.4k
    {
3583
18.4k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
18.4k
                                   .transform_error(make_eof_scan_error));
3585
3586
        if constexpr (!std::is_signed_v<T>) {
3587
            if (prefix_result.sign == sign_type::minus_sign) {
3588
                return detail::unexpected_scan_error(
3589
                    scan_error::invalid_scanned_value,
3590
                    "Unexpected '-' sign when parsing an "
3591
                    "unsigned value");
3592
            }
3593
        }
3594
3595
18.4k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
36.8k
        SCN_TRY(after_digits_it,
3601
36.8k
                parse_integer_digits_without_thsep(
3602
36.8k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
36.8k
                    prefix_result.parsed_base));
3604
3605
36.8k
        auto buf = make_contiguous_buffer(
3606
36.8k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
36.8k
        SCN_TRY(result_it,
3608
16.2k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
16.2k
                                    prefix_result.parsed_base));
3610
3611
16.2k
        return ranges::next(prefix_result.iterator,
3612
16.2k
                            ranges::distance(buf.view().begin(), result_it));
3613
36.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3582
18.1k
    {
3583
18.1k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
18.1k
                                   .transform_error(make_eof_scan_error));
3585
3586
        if constexpr (!std::is_signed_v<T>) {
3587
            if (prefix_result.sign == sign_type::minus_sign) {
3588
                return detail::unexpected_scan_error(
3589
                    scan_error::invalid_scanned_value,
3590
                    "Unexpected '-' sign when parsing an "
3591
                    "unsigned value");
3592
            }
3593
        }
3594
3595
18.1k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
36.1k
        SCN_TRY(after_digits_it,
3601
36.1k
                parse_integer_digits_without_thsep(
3602
36.1k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
36.1k
                    prefix_result.parsed_base));
3604
3605
36.1k
        auto buf = make_contiguous_buffer(
3606
36.1k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
36.1k
        SCN_TRY(result_it,
3608
16.6k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
16.6k
                                    prefix_result.parsed_base));
3610
3611
16.6k
        return ranges::next(prefix_result.iterator,
3612
16.6k
                            ranges::distance(buf.view().begin(), result_it));
3613
36.1k
    }
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3582
12.9k
    {
3583
12.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
12.9k
                                   .transform_error(make_eof_scan_error));
3585
3586
12.9k
        if constexpr (!std::is_signed_v<T>) {
3587
12.9k
            if (prefix_result.sign == sign_type::minus_sign) {
3588
759
                return detail::unexpected_scan_error(
3589
759
                    scan_error::invalid_scanned_value,
3590
759
                    "Unexpected '-' sign when parsing an "
3591
759
                    "unsigned value");
3592
759
            }
3593
12.9k
        }
3594
3595
12.9k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
25.9k
        SCN_TRY(after_digits_it,
3601
25.9k
                parse_integer_digits_without_thsep(
3602
25.9k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
25.9k
                    prefix_result.parsed_base));
3604
3605
25.9k
        auto buf = make_contiguous_buffer(
3606
25.9k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
25.9k
        SCN_TRY(result_it,
3608
11.9k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
11.9k
                                    prefix_result.parsed_base));
3610
3611
11.9k
        return ranges::next(prefix_result.iterator,
3612
11.9k
                            ranges::distance(buf.view().begin(), result_it));
3613
25.9k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3582
14.8k
    {
3583
14.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
14.8k
                                   .transform_error(make_eof_scan_error));
3585
3586
14.8k
        if constexpr (!std::is_signed_v<T>) {
3587
14.8k
            if (prefix_result.sign == sign_type::minus_sign) {
3588
786
                return detail::unexpected_scan_error(
3589
786
                    scan_error::invalid_scanned_value,
3590
786
                    "Unexpected '-' sign when parsing an "
3591
786
                    "unsigned value");
3592
786
            }
3593
14.8k
        }
3594
3595
14.8k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
29.6k
        SCN_TRY(after_digits_it,
3601
29.6k
                parse_integer_digits_without_thsep(
3602
29.6k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
29.6k
                    prefix_result.parsed_base));
3604
3605
29.6k
        auto buf = make_contiguous_buffer(
3606
29.6k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
29.6k
        SCN_TRY(result_it,
3608
13.2k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
13.2k
                                    prefix_result.parsed_base));
3610
3611
13.2k
        return ranges::next(prefix_result.iterator,
3612
13.2k
                            ranges::distance(buf.view().begin(), result_it));
3613
29.6k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3582
14.3k
    {
3583
14.3k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3584
14.3k
                                   .transform_error(make_eof_scan_error));
3585
3586
14.3k
        if constexpr (!std::is_signed_v<T>) {
3587
14.3k
            if (prefix_result.sign == sign_type::minus_sign) {
3588
816
                return detail::unexpected_scan_error(
3589
816
                    scan_error::invalid_scanned_value,
3590
816
                    "Unexpected '-' sign when parsing an "
3591
816
                    "unsigned value");
3592
816
            }
3593
14.3k
        }
3594
3595
14.3k
        if (prefix_result.is_zero) {
3596
0
            value = T{0};
3597
0
            return std::next(prefix_result.iterator);
3598
0
        }
3599
3600
28.7k
        SCN_TRY(after_digits_it,
3601
28.7k
                parse_integer_digits_without_thsep(
3602
28.7k
                    ranges::subrange{prefix_result.iterator, range.end()},
3603
28.7k
                    prefix_result.parsed_base));
3604
3605
28.7k
        auto buf = make_contiguous_buffer(
3606
28.7k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3607
28.7k
        SCN_TRY(result_it,
3608
13.4k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3609
13.4k
                                    prefix_result.parsed_base));
3610
3611
13.4k
        return ranges::next(prefix_result.iterator,
3612
13.4k
                            ranges::distance(buf.view().begin(), result_it));
3613
28.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
3614
3615
    template <typename Range, typename T>
3616
    auto read_default(Range range, T& value, detail::locale_ref loc)
3617
        -> scan_expected<ranges::const_iterator_t<Range>>
3618
249k
    {
3619
249k
        SCN_UNUSED(loc);
3620
249k
        return read_default_with_base(range, value, 10);
3621
249k
    }
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINSt3__117basic_string_viewIcNS5_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_NS0_6detail10locale_refE
Line
Count
Source
3618
11.9k
    {
3619
11.9k
        SCN_UNUSED(loc);
3620
11.9k
        return read_default_with_base(range, value, 10);
3621
11.9k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINSt3__117basic_string_viewIwNS5_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3618
15.4k
    {
3619
15.4k
        SCN_UNUSED(loc);
3620
15.4k
        return read_default_with_base(range, value, 10);
3621
15.4k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3618
18.4k
    {
3619
18.4k
        SCN_UNUSED(loc);
3620
18.4k
        return read_default_with_base(range, value, 10);
3621
18.4k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3618
18.1k
    {
3619
18.1k
        SCN_UNUSED(loc);
3620
18.1k
        return read_default_with_base(range, value, 10);
3621
18.1k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3618
12.9k
    {
3619
12.9k
        SCN_UNUSED(loc);
3620
12.9k
        return read_default_with_base(range, value, 10);
3621
12.9k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3618
14.8k
    {
3619
14.8k
        SCN_UNUSED(loc);
3620
14.8k
        return read_default_with_base(range, value, 10);
3621
14.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3618
14.3k
    {
3619
14.3k
        SCN_UNUSED(loc);
3620
14.3k
        return read_default_with_base(range, value, 10);
3621
14.3k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3618
15.4k
    {
3619
15.4k
        SCN_UNUSED(loc);
3620
15.4k
        return read_default_with_base(range, value, 10);
3621
15.4k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3618
17.2k
    {
3619
17.2k
        SCN_UNUSED(loc);
3620
17.2k
        return read_default_with_base(range, value, 10);
3621
17.2k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3618
17.5k
    {
3619
17.5k
        SCN_UNUSED(loc);
3620
17.5k
        return read_default_with_base(range, value, 10);
3621
17.5k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3618
12.9k
    {
3619
12.9k
        SCN_UNUSED(loc);
3620
12.9k
        return read_default_with_base(range, value, 10);
3621
12.9k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3618
14.1k
    {
3619
14.1k
        SCN_UNUSED(loc);
3620
14.1k
        return read_default_with_base(range, value, 10);
3621
14.1k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3618
14.3k
    {
3619
14.3k
        SCN_UNUSED(loc);
3620
14.3k
        return read_default_with_base(range, value, 10);
3621
14.3k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3618
4.17k
    {
3619
4.17k
        SCN_UNUSED(loc);
3620
4.17k
        return read_default_with_base(range, value, 10);
3621
4.17k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3618
4.76k
    {
3619
4.76k
        SCN_UNUSED(loc);
3620
4.76k
        return read_default_with_base(range, value, 10);
3621
4.76k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3618
4.22k
    {
3619
4.22k
        SCN_UNUSED(loc);
3620
4.22k
        return read_default_with_base(range, value, 10);
3621
4.22k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3618
4.15k
    {
3619
4.15k
        SCN_UNUSED(loc);
3620
4.15k
        return read_default_with_base(range, value, 10);
3621
4.15k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3618
4.75k
    {
3619
4.75k
        SCN_UNUSED(loc);
3620
4.75k
        return read_default_with_base(range, value, 10);
3621
4.75k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3618
4.20k
    {
3619
4.20k
        SCN_UNUSED(loc);
3620
4.20k
        return read_default_with_base(range, value, 10);
3621
4.20k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3618
4.17k
    {
3619
4.17k
        SCN_UNUSED(loc);
3620
4.17k
        return read_default_with_base(range, value, 10);
3621
4.17k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3618
4.19k
    {
3619
4.19k
        SCN_UNUSED(loc);
3620
4.19k
        return read_default_with_base(range, value, 10);
3621
4.19k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3618
4.22k
    {
3619
4.22k
        SCN_UNUSED(loc);
3620
4.22k
        return read_default_with_base(range, value, 10);
3621
4.22k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3618
4.15k
    {
3619
4.15k
        SCN_UNUSED(loc);
3620
4.15k
        return read_default_with_base(range, value, 10);
3621
4.15k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3618
4.17k
    {
3619
4.17k
        SCN_UNUSED(loc);
3620
4.17k
        return read_default_with_base(range, value, 10);
3621
4.17k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3618
4.20k
    {
3619
4.20k
        SCN_UNUSED(loc);
3620
4.20k
        return read_default_with_base(range, value, 10);
3621
4.20k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
3622
3623
    template <typename Range, typename T>
3624
    auto read_specs(Range range,
3625
                    const detail::format_specs& specs,
3626
                    T& value,
3627
                    detail::locale_ref loc)
3628
        -> scan_expected<ranges::const_iterator_t<Range>>
3629
864k
    {
3630
864k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
864k
                                   .transform_error(make_eof_scan_error));
3632
3633
864k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
84.6k
            if constexpr (!std::is_signed_v<T>) {
3635
27.3k
                return detail::unexpected_scan_error(
3636
27.3k
                    scan_error::invalid_scanned_value,
3637
27.3k
                    "Unexpected '-' sign when parsing an "
3638
27.3k
                    "unsigned value");
3639
            }
3640
57.2k
            else {
3641
57.2k
                if (specs.type ==
3642
57.2k
                    detail::presentation_type::int_unsigned_decimal) {
3643
0
                    return detail::unexpected_scan_error(
3644
0
                        scan_error::invalid_scanned_value,
3645
0
                        "'u'-option disallows negative values");
3646
0
                }
3647
57.2k
            }
3648
84.6k
        }
3649
3650
864k
        if (prefix_result.is_zero) {
3651
62.5k
            value = T{0};
3652
62.5k
            return std::next(prefix_result.iterator);
3653
62.5k
        }
3654
3655
801k
        if (SCN_LIKELY(!specs.localized)) {
3656
611k
            SCN_TRY(after_digits_it,
3657
506k
                    parse_integer_digits_without_thsep(
3658
506k
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
506k
                        prefix_result.parsed_base));
3660
3661
506k
            auto buf = make_contiguous_buffer(
3662
506k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
506k
            SCN_TRY(result_it,
3664
390k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
390k
                                        prefix_result.parsed_base));
3666
3667
390k
            return ranges::next(
3668
390k
                prefix_result.iterator,
3669
390k
                ranges::distance(buf.view().begin(), result_it));
3670
506k
        }
3671
3672
190k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
190k
            localized_number_formatting_options<CharT>{loc};
3677
190k
#endif
3678
3679
190k
        SCN_TRY(parse_digits_result,
3680
159k
                parse_integer_digits_with_thsep(
3681
159k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
159k
                    prefix_result.parsed_base, locale_options));
3683
159k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
159k
            parse_digits_result;
3685
3686
159k
        auto nothsep_source_view =
3687
159k
            std::basic_string_view<CharT>{nothsep_source};
3688
159k
        SCN_TRY(
3689
157k
            nothsep_source_it,
3690
157k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
157k
                                prefix_result.parsed_base));
3692
3693
157k
        return ranges::next(
3694
157k
            prefix_result.iterator,
3695
157k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
157k
                ranges::ssize(thsep_indices));
3697
159k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3629
51.7k
    {
3630
51.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
51.7k
                                   .transform_error(make_eof_scan_error));
3632
3633
51.7k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
            if constexpr (!std::is_signed_v<T>) {
3635
                return detail::unexpected_scan_error(
3636
                    scan_error::invalid_scanned_value,
3637
                    "Unexpected '-' sign when parsing an "
3638
                    "unsigned value");
3639
            }
3640
7.65k
            else {
3641
7.65k
                if (specs.type ==
3642
7.65k
                    detail::presentation_type::int_unsigned_decimal) {
3643
0
                    return detail::unexpected_scan_error(
3644
0
                        scan_error::invalid_scanned_value,
3645
0
                        "'u'-option disallows negative values");
3646
0
                }
3647
7.65k
            }
3648
7.65k
        }
3649
3650
51.7k
        if (prefix_result.is_zero) {
3651
5.21k
            value = T{0};
3652
5.21k
            return std::next(prefix_result.iterator);
3653
5.21k
        }
3654
3655
46.5k
        if (SCN_LIKELY(!specs.localized)) {
3656
36.1k
            SCN_TRY(after_digits_it,
3657
32.1k
                    parse_integer_digits_without_thsep(
3658
32.1k
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
32.1k
                        prefix_result.parsed_base));
3660
3661
32.1k
            auto buf = make_contiguous_buffer(
3662
32.1k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
32.1k
            SCN_TRY(result_it,
3664
30.4k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
30.4k
                                        prefix_result.parsed_base));
3666
3667
30.4k
            return ranges::next(
3668
30.4k
                prefix_result.iterator,
3669
30.4k
                ranges::distance(buf.view().begin(), result_it));
3670
32.1k
        }
3671
3672
10.3k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
10.3k
            localized_number_formatting_options<CharT>{loc};
3677
10.3k
#endif
3678
3679
10.3k
        SCN_TRY(parse_digits_result,
3680
9.77k
                parse_integer_digits_with_thsep(
3681
9.77k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
9.77k
                    prefix_result.parsed_base, locale_options));
3683
9.77k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
9.77k
            parse_digits_result;
3685
3686
9.77k
        auto nothsep_source_view =
3687
9.77k
            std::basic_string_view<CharT>{nothsep_source};
3688
9.77k
        SCN_TRY(
3689
9.33k
            nothsep_source_it,
3690
9.33k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
9.33k
                                prefix_result.parsed_base));
3692
3693
9.33k
        return ranges::next(
3694
9.33k
            prefix_result.iterator,
3695
9.33k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
9.33k
                ranges::ssize(thsep_indices));
3697
9.77k
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3629
36
    {
3630
36
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
36
                                   .transform_error(make_eof_scan_error));
3632
3633
36
        if (prefix_result.sign == sign_type::minus_sign) {
3634
            if constexpr (!std::is_signed_v<T>) {
3635
                return detail::unexpected_scan_error(
3636
                    scan_error::invalid_scanned_value,
3637
                    "Unexpected '-' sign when parsing an "
3638
                    "unsigned value");
3639
            }
3640
0
            else {
3641
0
                if (specs.type ==
3642
0
                    detail::presentation_type::int_unsigned_decimal) {
3643
0
                    return detail::unexpected_scan_error(
3644
0
                        scan_error::invalid_scanned_value,
3645
0
                        "'u'-option disallows negative values");
3646
0
                }
3647
0
            }
3648
0
        }
3649
3650
36
        if (prefix_result.is_zero) {
3651
0
            value = T{0};
3652
0
            return std::next(prefix_result.iterator);
3653
0
        }
3654
3655
36
        if (SCN_LIKELY(!specs.localized)) {
3656
36
            SCN_TRY(after_digits_it,
3657
0
                    parse_integer_digits_without_thsep(
3658
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
0
                        prefix_result.parsed_base));
3660
3661
0
            auto buf = make_contiguous_buffer(
3662
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
0
            SCN_TRY(result_it,
3664
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
0
                                        prefix_result.parsed_base));
3666
3667
0
            return ranges::next(
3668
0
                prefix_result.iterator,
3669
0
                ranges::distance(buf.view().begin(), result_it));
3670
0
        }
3671
3672
0
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
0
            localized_number_formatting_options<CharT>{loc};
3677
0
#endif
3678
3679
0
        SCN_TRY(parse_digits_result,
3680
0
                parse_integer_digits_with_thsep(
3681
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
0
                    prefix_result.parsed_base, locale_options));
3683
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
0
            parse_digits_result;
3685
3686
0
        auto nothsep_source_view =
3687
0
            std::basic_string_view<CharT>{nothsep_source};
3688
0
        SCN_TRY(
3689
0
            nothsep_source_it,
3690
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
0
                                prefix_result.parsed_base));
3692
3693
0
        return ranges::next(
3694
0
            prefix_result.iterator,
3695
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
0
                ranges::ssize(thsep_indices));
3697
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3629
51.8k
    {
3630
51.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
51.8k
                                   .transform_error(make_eof_scan_error));
3632
3633
51.8k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
            if constexpr (!std::is_signed_v<T>) {
3635
                return detail::unexpected_scan_error(
3636
                    scan_error::invalid_scanned_value,
3637
                    "Unexpected '-' sign when parsing an "
3638
                    "unsigned value");
3639
            }
3640
7.64k
            else {
3641
7.64k
                if (specs.type ==
3642
7.64k
                    detail::presentation_type::int_unsigned_decimal) {
3643
0
                    return detail::unexpected_scan_error(
3644
0
                        scan_error::invalid_scanned_value,
3645
0
                        "'u'-option disallows negative values");
3646
0
                }
3647
7.64k
            }
3648
7.64k
        }
3649
3650
51.8k
        if (prefix_result.is_zero) {
3651
5.21k
            value = T{0};
3652
5.21k
            return std::next(prefix_result.iterator);
3653
5.21k
        }
3654
3655
46.6k
        if (SCN_LIKELY(!specs.localized)) {
3656
36.2k
            SCN_TRY(after_digits_it,
3657
36.1k
                    parse_integer_digits_without_thsep(
3658
36.1k
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
36.1k
                        prefix_result.parsed_base));
3660
3661
36.1k
            auto buf = make_contiguous_buffer(
3662
36.1k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
36.1k
            SCN_TRY(result_it,
3664
30.4k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
30.4k
                                        prefix_result.parsed_base));
3666
3667
30.4k
            return ranges::next(
3668
30.4k
                prefix_result.iterator,
3669
30.4k
                ranges::distance(buf.view().begin(), result_it));
3670
36.1k
        }
3671
3672
10.3k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
10.3k
            localized_number_formatting_options<CharT>{loc};
3677
10.3k
#endif
3678
3679
10.3k
        SCN_TRY(parse_digits_result,
3680
9.75k
                parse_integer_digits_with_thsep(
3681
9.75k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
9.75k
                    prefix_result.parsed_base, locale_options));
3683
9.75k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
9.75k
            parse_digits_result;
3685
3686
9.75k
        auto nothsep_source_view =
3687
9.75k
            std::basic_string_view<CharT>{nothsep_source};
3688
9.75k
        SCN_TRY(
3689
9.32k
            nothsep_source_it,
3690
9.32k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
9.32k
                                prefix_result.parsed_base));
3692
3693
9.32k
        return ranges::next(
3694
9.32k
            prefix_result.iterator,
3695
9.32k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
9.32k
                ranges::ssize(thsep_indices));
3697
9.75k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3629
61.2k
    {
3630
61.2k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
61.2k
                                   .transform_error(make_eof_scan_error));
3632
3633
61.2k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
            if constexpr (!std::is_signed_v<T>) {
3635
                return detail::unexpected_scan_error(
3636
                    scan_error::invalid_scanned_value,
3637
                    "Unexpected '-' sign when parsing an "
3638
                    "unsigned value");
3639
            }
3640
8.01k
            else {
3641
8.01k
                if (specs.type ==
3642
8.01k
                    detail::presentation_type::int_unsigned_decimal) {
3643
0
                    return detail::unexpected_scan_error(
3644
0
                        scan_error::invalid_scanned_value,
3645
0
                        "'u'-option disallows negative values");
3646
0
                }
3647
8.01k
            }
3648
8.01k
        }
3649
3650
61.2k
        if (prefix_result.is_zero) {
3651
5.49k
            value = T{0};
3652
5.49k
            return std::next(prefix_result.iterator);
3653
5.49k
        }
3654
3655
55.7k
        if (SCN_LIKELY(!specs.localized)) {
3656
43.8k
            SCN_TRY(after_digits_it,
3657
39.2k
                    parse_integer_digits_without_thsep(
3658
39.2k
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
39.2k
                        prefix_result.parsed_base));
3660
3661
39.2k
            auto buf = make_contiguous_buffer(
3662
39.2k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
39.2k
            SCN_TRY(result_it,
3664
38.4k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
38.4k
                                        prefix_result.parsed_base));
3666
3667
38.4k
            return ranges::next(
3668
38.4k
                prefix_result.iterator,
3669
38.4k
                ranges::distance(buf.view().begin(), result_it));
3670
39.2k
        }
3671
3672
11.9k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
11.9k
            localized_number_formatting_options<CharT>{loc};
3677
11.9k
#endif
3678
3679
11.9k
        SCN_TRY(parse_digits_result,
3680
11.2k
                parse_integer_digits_with_thsep(
3681
11.2k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
11.2k
                    prefix_result.parsed_base, locale_options));
3683
11.2k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
11.2k
            parse_digits_result;
3685
3686
11.2k
        auto nothsep_source_view =
3687
11.2k
            std::basic_string_view<CharT>{nothsep_source};
3688
11.2k
        SCN_TRY(
3689
11.0k
            nothsep_source_it,
3690
11.0k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
11.0k
                                prefix_result.parsed_base));
3692
3693
11.0k
        return ranges::next(
3694
11.0k
            prefix_result.iterator,
3695
11.0k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
11.0k
                ranges::ssize(thsep_indices));
3697
11.2k
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3629
392
    {
3630
392
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
392
                                   .transform_error(make_eof_scan_error));
3632
3633
392
        if (prefix_result.sign == sign_type::minus_sign) {
3634
            if constexpr (!std::is_signed_v<T>) {
3635
                return detail::unexpected_scan_error(
3636
                    scan_error::invalid_scanned_value,
3637
                    "Unexpected '-' sign when parsing an "
3638
                    "unsigned value");
3639
            }
3640
0
            else {
3641
0
                if (specs.type ==
3642
0
                    detail::presentation_type::int_unsigned_decimal) {
3643
0
                    return detail::unexpected_scan_error(
3644
0
                        scan_error::invalid_scanned_value,
3645
0
                        "'u'-option disallows negative values");
3646
0
                }
3647
0
            }
3648
0
        }
3649
3650
392
        if (prefix_result.is_zero) {
3651
0
            value = T{0};
3652
0
            return std::next(prefix_result.iterator);
3653
0
        }
3654
3655
392
        if (SCN_LIKELY(!specs.localized)) {
3656
380
            SCN_TRY(after_digits_it,
3657
0
                    parse_integer_digits_without_thsep(
3658
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
0
                        prefix_result.parsed_base));
3660
3661
0
            auto buf = make_contiguous_buffer(
3662
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
0
            SCN_TRY(result_it,
3664
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
0
                                        prefix_result.parsed_base));
3666
3667
0
            return ranges::next(
3668
0
                prefix_result.iterator,
3669
0
                ranges::distance(buf.view().begin(), result_it));
3670
0
        }
3671
3672
12
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
12
            localized_number_formatting_options<CharT>{loc};
3677
12
#endif
3678
3679
12
        SCN_TRY(parse_digits_result,
3680
0
                parse_integer_digits_with_thsep(
3681
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
0
                    prefix_result.parsed_base, locale_options));
3683
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
0
            parse_digits_result;
3685
3686
0
        auto nothsep_source_view =
3687
0
            std::basic_string_view<CharT>{nothsep_source};
3688
0
        SCN_TRY(
3689
0
            nothsep_source_it,
3690
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
0
                                prefix_result.parsed_base));
3692
3693
0
        return ranges::next(
3694
0
            prefix_result.iterator,
3695
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
0
                ranges::ssize(thsep_indices));
3697
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3629
61.6k
    {
3630
61.6k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
61.6k
                                   .transform_error(make_eof_scan_error));
3632
3633
61.6k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
            if constexpr (!std::is_signed_v<T>) {
3635
                return detail::unexpected_scan_error(
3636
                    scan_error::invalid_scanned_value,
3637
                    "Unexpected '-' sign when parsing an "
3638
                    "unsigned value");
3639
            }
3640
8.00k
            else {
3641
8.00k
                if (specs.type ==
3642
8.00k
                    detail::presentation_type::int_unsigned_decimal) {
3643
0
                    return detail::unexpected_scan_error(
3644
0
                        scan_error::invalid_scanned_value,
3645
0
                        "'u'-option disallows negative values");
3646
0
                }
3647
8.00k
            }
3648
8.00k
        }
3649
3650
61.6k
        if (prefix_result.is_zero) {
3651
5.49k
            value = T{0};
3652
5.49k
            return std::next(prefix_result.iterator);
3653
5.49k
        }
3654
3655
56.1k
        if (SCN_LIKELY(!specs.localized)) {
3656
44.1k
            SCN_TRY(after_digits_it,
3657
43.9k
                    parse_integer_digits_without_thsep(
3658
43.9k
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
43.9k
                        prefix_result.parsed_base));
3660
3661
43.9k
            auto buf = make_contiguous_buffer(
3662
43.9k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
43.9k
            SCN_TRY(result_it,
3664
38.3k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
38.3k
                                        prefix_result.parsed_base));
3666
3667
38.3k
            return ranges::next(
3668
38.3k
                prefix_result.iterator,
3669
38.3k
                ranges::distance(buf.view().begin(), result_it));
3670
43.9k
        }
3671
3672
11.9k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
11.9k
            localized_number_formatting_options<CharT>{loc};
3677
11.9k
#endif
3678
3679
11.9k
        SCN_TRY(parse_digits_result,
3680
11.2k
                parse_integer_digits_with_thsep(
3681
11.2k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
11.2k
                    prefix_result.parsed_base, locale_options));
3683
11.2k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
11.2k
            parse_digits_result;
3685
3686
11.2k
        auto nothsep_source_view =
3687
11.2k
            std::basic_string_view<CharT>{nothsep_source};
3688
11.2k
        SCN_TRY(
3689
11.0k
            nothsep_source_it,
3690
11.0k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
11.0k
                                prefix_result.parsed_base));
3692
3693
11.0k
        return ranges::next(
3694
11.0k
            prefix_result.iterator,
3695
11.0k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
11.0k
                ranges::ssize(thsep_indices));
3697
11.2k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3629
62.2k
    {
3630
62.2k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
62.2k
                                   .transform_error(make_eof_scan_error));
3632
3633
62.2k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
            if constexpr (!std::is_signed_v<T>) {
3635
                return detail::unexpected_scan_error(
3636
                    scan_error::invalid_scanned_value,
3637
                    "Unexpected '-' sign when parsing an "
3638
                    "unsigned value");
3639
            }
3640
8.20k
            else {
3641
8.20k
                if (specs.type ==
3642
8.20k
                    detail::presentation_type::int_unsigned_decimal) {
3643
0
                    return detail::unexpected_scan_error(
3644
0
                        scan_error::invalid_scanned_value,
3645
0
                        "'u'-option disallows negative values");
3646
0
                }
3647
8.20k
            }
3648
8.20k
        }
3649
3650
62.2k
        if (prefix_result.is_zero) {
3651
5.53k
            value = T{0};
3652
5.53k
            return std::next(prefix_result.iterator);
3653
5.53k
        }
3654
3655
56.7k
        if (SCN_LIKELY(!specs.localized)) {
3656
44.5k
            SCN_TRY(after_digits_it,
3657
39.7k
                    parse_integer_digits_without_thsep(
3658
39.7k
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
39.7k
                        prefix_result.parsed_base));
3660
3661
39.7k
            auto buf = make_contiguous_buffer(
3662
39.7k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
39.7k
            SCN_TRY(result_it,
3664
39.3k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
39.3k
                                        prefix_result.parsed_base));
3666
3667
39.3k
            return ranges::next(
3668
39.3k
                prefix_result.iterator,
3669
39.3k
                ranges::distance(buf.view().begin(), result_it));
3670
39.7k
        }
3671
3672
12.1k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
12.1k
            localized_number_formatting_options<CharT>{loc};
3677
12.1k
#endif
3678
3679
12.1k
        SCN_TRY(parse_digits_result,
3680
11.4k
                parse_integer_digits_with_thsep(
3681
11.4k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
11.4k
                    prefix_result.parsed_base, locale_options));
3683
11.4k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
11.4k
            parse_digits_result;
3685
3686
11.4k
        auto nothsep_source_view =
3687
11.4k
            std::basic_string_view<CharT>{nothsep_source};
3688
11.4k
        SCN_TRY(
3689
11.2k
            nothsep_source_it,
3690
11.2k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
11.2k
                                prefix_result.parsed_base));
3692
3693
11.2k
        return ranges::next(
3694
11.2k
            prefix_result.iterator,
3695
11.2k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
11.2k
                ranges::ssize(thsep_indices));
3697
11.4k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3629
62.3k
    {
3630
62.3k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
62.3k
                                   .transform_error(make_eof_scan_error));
3632
3633
62.3k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
            if constexpr (!std::is_signed_v<T>) {
3635
                return detail::unexpected_scan_error(
3636
                    scan_error::invalid_scanned_value,
3637
                    "Unexpected '-' sign when parsing an "
3638
                    "unsigned value");
3639
            }
3640
8.19k
            else {
3641
8.19k
                if (specs.type ==
3642
8.19k
                    detail::presentation_type::int_unsigned_decimal) {
3643
0
                    return detail::unexpected_scan_error(
3644
0
                        scan_error::invalid_scanned_value,
3645
0
                        "'u'-option disallows negative values");
3646
0
                }
3647
8.19k
            }
3648
8.19k
        }
3649
3650
62.3k
        if (prefix_result.is_zero) {
3651
5.53k
            value = T{0};
3652
5.53k
            return std::next(prefix_result.iterator);
3653
5.53k
        }
3654
3655
56.7k
        if (SCN_LIKELY(!specs.localized)) {
3656
44.6k
            SCN_TRY(after_digits_it,
3657
44.3k
                    parse_integer_digits_without_thsep(
3658
44.3k
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
44.3k
                        prefix_result.parsed_base));
3660
3661
44.3k
            auto buf = make_contiguous_buffer(
3662
44.3k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
44.3k
            SCN_TRY(result_it,
3664
39.2k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
39.2k
                                        prefix_result.parsed_base));
3666
3667
39.2k
            return ranges::next(
3668
39.2k
                prefix_result.iterator,
3669
39.2k
                ranges::distance(buf.view().begin(), result_it));
3670
44.3k
        }
3671
3672
12.1k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
12.1k
            localized_number_formatting_options<CharT>{loc};
3677
12.1k
#endif
3678
3679
12.1k
        SCN_TRY(parse_digits_result,
3680
11.3k
                parse_integer_digits_with_thsep(
3681
11.3k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
11.3k
                    prefix_result.parsed_base, locale_options));
3683
11.3k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
11.3k
            parse_digits_result;
3685
3686
11.3k
        auto nothsep_source_view =
3687
11.3k
            std::basic_string_view<CharT>{nothsep_source};
3688
11.3k
        SCN_TRY(
3689
11.2k
            nothsep_source_it,
3690
11.2k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
11.2k
                                prefix_result.parsed_base));
3692
3693
11.2k
        return ranges::next(
3694
11.2k
            prefix_result.iterator,
3695
11.2k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
11.2k
                ranges::ssize(thsep_indices));
3697
11.3k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3629
45.7k
    {
3630
45.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
45.7k
                                   .transform_error(make_eof_scan_error));
3632
3633
45.7k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
2.90k
            if constexpr (!std::is_signed_v<T>) {
3635
2.90k
                return detail::unexpected_scan_error(
3636
2.90k
                    scan_error::invalid_scanned_value,
3637
2.90k
                    "Unexpected '-' sign when parsing an "
3638
2.90k
                    "unsigned value");
3639
            }
3640
            else {
3641
                if (specs.type ==
3642
                    detail::presentation_type::int_unsigned_decimal) {
3643
                    return detail::unexpected_scan_error(
3644
                        scan_error::invalid_scanned_value,
3645
                        "'u'-option disallows negative values");
3646
                }
3647
            }
3648
2.90k
        }
3649
3650
45.7k
        if (prefix_result.is_zero) {
3651
4.80k
            value = T{0};
3652
4.80k
            return std::next(prefix_result.iterator);
3653
4.80k
        }
3654
3655
40.9k
        if (SCN_LIKELY(!specs.localized)) {
3656
29.8k
            SCN_TRY(after_digits_it,
3657
27.1k
                    parse_integer_digits_without_thsep(
3658
27.1k
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
27.1k
                        prefix_result.parsed_base));
3660
3661
27.1k
            auto buf = make_contiguous_buffer(
3662
27.1k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
27.1k
            SCN_TRY(result_it,
3664
26.2k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
26.2k
                                        prefix_result.parsed_base));
3666
3667
26.2k
            return ranges::next(
3668
26.2k
                prefix_result.iterator,
3669
26.2k
                ranges::distance(buf.view().begin(), result_it));
3670
27.1k
        }
3671
3672
11.0k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
11.0k
            localized_number_formatting_options<CharT>{loc};
3677
11.0k
#endif
3678
3679
11.0k
        SCN_TRY(parse_digits_result,
3680
10.6k
                parse_integer_digits_with_thsep(
3681
10.6k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
10.6k
                    prefix_result.parsed_base, locale_options));
3683
10.6k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
10.6k
            parse_digits_result;
3685
3686
10.6k
        auto nothsep_source_view =
3687
10.6k
            std::basic_string_view<CharT>{nothsep_source};
3688
10.6k
        SCN_TRY(
3689
10.4k
            nothsep_source_it,
3690
10.4k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
10.4k
                                prefix_result.parsed_base));
3692
3693
10.4k
        return ranges::next(
3694
10.4k
            prefix_result.iterator,
3695
10.4k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
10.4k
                ranges::ssize(thsep_indices));
3697
10.6k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3629
45.8k
    {
3630
45.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
45.8k
                                   .transform_error(make_eof_scan_error));
3632
3633
45.8k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
2.89k
            if constexpr (!std::is_signed_v<T>) {
3635
2.89k
                return detail::unexpected_scan_error(
3636
2.89k
                    scan_error::invalid_scanned_value,
3637
2.89k
                    "Unexpected '-' sign when parsing an "
3638
2.89k
                    "unsigned value");
3639
            }
3640
            else {
3641
                if (specs.type ==
3642
                    detail::presentation_type::int_unsigned_decimal) {
3643
                    return detail::unexpected_scan_error(
3644
                        scan_error::invalid_scanned_value,
3645
                        "'u'-option disallows negative values");
3646
                }
3647
            }
3648
2.89k
        }
3649
3650
45.8k
        if (prefix_result.is_zero) {
3651
4.80k
            value = T{0};
3652
4.80k
            return std::next(prefix_result.iterator);
3653
4.80k
        }
3654
3655
41.0k
        if (SCN_LIKELY(!specs.localized)) {
3656
29.9k
            SCN_TRY(after_digits_it,
3657
29.9k
                    parse_integer_digits_without_thsep(
3658
29.9k
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
29.9k
                        prefix_result.parsed_base));
3660
3661
29.9k
            auto buf = make_contiguous_buffer(
3662
29.9k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
29.9k
            SCN_TRY(result_it,
3664
26.2k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
26.2k
                                        prefix_result.parsed_base));
3666
3667
26.2k
            return ranges::next(
3668
26.2k
                prefix_result.iterator,
3669
26.2k
                ranges::distance(buf.view().begin(), result_it));
3670
29.9k
        }
3671
3672
11.0k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
11.0k
            localized_number_formatting_options<CharT>{loc};
3677
11.0k
#endif
3678
3679
11.0k
        SCN_TRY(parse_digits_result,
3680
10.6k
                parse_integer_digits_with_thsep(
3681
10.6k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
10.6k
                    prefix_result.parsed_base, locale_options));
3683
10.6k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
10.6k
            parse_digits_result;
3685
3686
10.6k
        auto nothsep_source_view =
3687
10.6k
            std::basic_string_view<CharT>{nothsep_source};
3688
10.6k
        SCN_TRY(
3689
10.4k
            nothsep_source_it,
3690
10.4k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
10.4k
                                prefix_result.parsed_base));
3692
3693
10.4k
        return ranges::next(
3694
10.4k
            prefix_result.iterator,
3695
10.4k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
10.4k
                ranges::ssize(thsep_indices));
3697
10.6k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3629
49.7k
    {
3630
49.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
49.7k
                                   .transform_error(make_eof_scan_error));
3632
3633
49.7k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
2.99k
            if constexpr (!std::is_signed_v<T>) {
3635
2.99k
                return detail::unexpected_scan_error(
3636
2.99k
                    scan_error::invalid_scanned_value,
3637
2.99k
                    "Unexpected '-' sign when parsing an "
3638
2.99k
                    "unsigned value");
3639
            }
3640
            else {
3641
                if (specs.type ==
3642
                    detail::presentation_type::int_unsigned_decimal) {
3643
                    return detail::unexpected_scan_error(
3644
                        scan_error::invalid_scanned_value,
3645
                        "'u'-option disallows negative values");
3646
                }
3647
            }
3648
2.99k
        }
3649
3650
49.7k
        if (prefix_result.is_zero) {
3651
4.98k
            value = T{0};
3652
4.98k
            return std::next(prefix_result.iterator);
3653
4.98k
        }
3654
3655
44.7k
        if (SCN_LIKELY(!specs.localized)) {
3656
32.7k
            SCN_TRY(after_digits_it,
3657
29.8k
                    parse_integer_digits_without_thsep(
3658
29.8k
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
29.8k
                        prefix_result.parsed_base));
3660
3661
29.8k
            auto buf = make_contiguous_buffer(
3662
29.8k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
29.8k
            SCN_TRY(result_it,
3664
29.4k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
29.4k
                                        prefix_result.parsed_base));
3666
3667
29.4k
            return ranges::next(
3668
29.4k
                prefix_result.iterator,
3669
29.4k
                ranges::distance(buf.view().begin(), result_it));
3670
29.8k
        }
3671
3672
11.9k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
11.9k
            localized_number_formatting_options<CharT>{loc};
3677
11.9k
#endif
3678
3679
11.9k
        SCN_TRY(parse_digits_result,
3680
11.5k
                parse_integer_digits_with_thsep(
3681
11.5k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
11.5k
                    prefix_result.parsed_base, locale_options));
3683
11.5k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
11.5k
            parse_digits_result;
3685
3686
11.5k
        auto nothsep_source_view =
3687
11.5k
            std::basic_string_view<CharT>{nothsep_source};
3688
11.5k
        SCN_TRY(
3689
11.4k
            nothsep_source_it,
3690
11.4k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
11.4k
                                prefix_result.parsed_base));
3692
3693
11.4k
        return ranges::next(
3694
11.4k
            prefix_result.iterator,
3695
11.4k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
11.4k
                ranges::ssize(thsep_indices));
3697
11.5k
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3629
392
    {
3630
392
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
392
                                   .transform_error(make_eof_scan_error));
3632
3633
392
        if (prefix_result.sign == sign_type::minus_sign) {
3634
0
            if constexpr (!std::is_signed_v<T>) {
3635
0
                return detail::unexpected_scan_error(
3636
0
                    scan_error::invalid_scanned_value,
3637
0
                    "Unexpected '-' sign when parsing an "
3638
0
                    "unsigned value");
3639
            }
3640
            else {
3641
                if (specs.type ==
3642
                    detail::presentation_type::int_unsigned_decimal) {
3643
                    return detail::unexpected_scan_error(
3644
                        scan_error::invalid_scanned_value,
3645
                        "'u'-option disallows negative values");
3646
                }
3647
            }
3648
0
        }
3649
3650
392
        if (prefix_result.is_zero) {
3651
0
            value = T{0};
3652
0
            return std::next(prefix_result.iterator);
3653
0
        }
3654
3655
392
        if (SCN_LIKELY(!specs.localized)) {
3656
380
            SCN_TRY(after_digits_it,
3657
0
                    parse_integer_digits_without_thsep(
3658
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
0
                        prefix_result.parsed_base));
3660
3661
0
            auto buf = make_contiguous_buffer(
3662
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
0
            SCN_TRY(result_it,
3664
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
0
                                        prefix_result.parsed_base));
3666
3667
0
            return ranges::next(
3668
0
                prefix_result.iterator,
3669
0
                ranges::distance(buf.view().begin(), result_it));
3670
0
        }
3671
3672
12
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
12
            localized_number_formatting_options<CharT>{loc};
3677
12
#endif
3678
3679
12
        SCN_TRY(parse_digits_result,
3680
0
                parse_integer_digits_with_thsep(
3681
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
0
                    prefix_result.parsed_base, locale_options));
3683
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
0
            parse_digits_result;
3685
3686
0
        auto nothsep_source_view =
3687
0
            std::basic_string_view<CharT>{nothsep_source};
3688
0
        SCN_TRY(
3689
0
            nothsep_source_it,
3690
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
0
                                prefix_result.parsed_base));
3692
3693
0
        return ranges::next(
3694
0
            prefix_result.iterator,
3695
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
0
                ranges::ssize(thsep_indices));
3697
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3629
50.0k
    {
3630
50.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
50.0k
                                   .transform_error(make_eof_scan_error));
3632
3633
50.0k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
2.98k
            if constexpr (!std::is_signed_v<T>) {
3635
2.98k
                return detail::unexpected_scan_error(
3636
2.98k
                    scan_error::invalid_scanned_value,
3637
2.98k
                    "Unexpected '-' sign when parsing an "
3638
2.98k
                    "unsigned value");
3639
            }
3640
            else {
3641
                if (specs.type ==
3642
                    detail::presentation_type::int_unsigned_decimal) {
3643
                    return detail::unexpected_scan_error(
3644
                        scan_error::invalid_scanned_value,
3645
                        "'u'-option disallows negative values");
3646
                }
3647
            }
3648
2.98k
        }
3649
3650
50.0k
        if (prefix_result.is_zero) {
3651
4.98k
            value = T{0};
3652
4.98k
            return std::next(prefix_result.iterator);
3653
4.98k
        }
3654
3655
45.0k
        if (SCN_LIKELY(!specs.localized)) {
3656
33.0k
            SCN_TRY(after_digits_it,
3657
33.0k
                    parse_integer_digits_without_thsep(
3658
33.0k
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
33.0k
                        prefix_result.parsed_base));
3660
3661
33.0k
            auto buf = make_contiguous_buffer(
3662
33.0k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
33.0k
            SCN_TRY(result_it,
3664
29.3k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
29.3k
                                        prefix_result.parsed_base));
3666
3667
29.3k
            return ranges::next(
3668
29.3k
                prefix_result.iterator,
3669
29.3k
                ranges::distance(buf.view().begin(), result_it));
3670
33.0k
        }
3671
3672
12.0k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
12.0k
            localized_number_formatting_options<CharT>{loc};
3677
12.0k
#endif
3678
3679
12.0k
        SCN_TRY(parse_digits_result,
3680
11.5k
                parse_integer_digits_with_thsep(
3681
11.5k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
11.5k
                    prefix_result.parsed_base, locale_options));
3683
11.5k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
11.5k
            parse_digits_result;
3685
3686
11.5k
        auto nothsep_source_view =
3687
11.5k
            std::basic_string_view<CharT>{nothsep_source};
3688
11.5k
        SCN_TRY(
3689
11.4k
            nothsep_source_it,
3690
11.4k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
11.4k
                                prefix_result.parsed_base));
3692
3693
11.4k
        return ranges::next(
3694
11.4k
            prefix_result.iterator,
3695
11.4k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
11.4k
                ranges::ssize(thsep_indices));
3697
11.5k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3629
354
    {
3630
354
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
354
                                   .transform_error(make_eof_scan_error));
3632
3633
354
        if (prefix_result.sign == sign_type::minus_sign) {
3634
0
            if constexpr (!std::is_signed_v<T>) {
3635
0
                return detail::unexpected_scan_error(
3636
0
                    scan_error::invalid_scanned_value,
3637
0
                    "Unexpected '-' sign when parsing an "
3638
0
                    "unsigned value");
3639
            }
3640
            else {
3641
                if (specs.type ==
3642
                    detail::presentation_type::int_unsigned_decimal) {
3643
                    return detail::unexpected_scan_error(
3644
                        scan_error::invalid_scanned_value,
3645
                        "'u'-option disallows negative values");
3646
                }
3647
            }
3648
0
        }
3649
3650
354
        if (prefix_result.is_zero) {
3651
0
            value = T{0};
3652
0
            return std::next(prefix_result.iterator);
3653
0
        }
3654
3655
354
        if (SCN_LIKELY(!specs.localized)) {
3656
354
            SCN_TRY(after_digits_it,
3657
0
                    parse_integer_digits_without_thsep(
3658
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
0
                        prefix_result.parsed_base));
3660
3661
0
            auto buf = make_contiguous_buffer(
3662
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
0
            SCN_TRY(result_it,
3664
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
0
                                        prefix_result.parsed_base));
3666
3667
0
            return ranges::next(
3668
0
                prefix_result.iterator,
3669
0
                ranges::distance(buf.view().begin(), result_it));
3670
0
        }
3671
3672
0
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
0
            localized_number_formatting_options<CharT>{loc};
3677
0
#endif
3678
3679
0
        SCN_TRY(parse_digits_result,
3680
0
                parse_integer_digits_with_thsep(
3681
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
0
                    prefix_result.parsed_base, locale_options));
3683
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
0
            parse_digits_result;
3685
3686
0
        auto nothsep_source_view =
3687
0
            std::basic_string_view<CharT>{nothsep_source};
3688
0
        SCN_TRY(
3689
0
            nothsep_source_it,
3690
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
0
                                prefix_result.parsed_base));
3692
3693
0
        return ranges::next(
3694
0
            prefix_result.iterator,
3695
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
0
                ranges::ssize(thsep_indices));
3697
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3629
906
    {
3630
906
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
906
                                   .transform_error(make_eof_scan_error));
3632
3633
906
        if (prefix_result.sign == sign_type::minus_sign) {
3634
0
            if constexpr (!std::is_signed_v<T>) {
3635
0
                return detail::unexpected_scan_error(
3636
0
                    scan_error::invalid_scanned_value,
3637
0
                    "Unexpected '-' sign when parsing an "
3638
0
                    "unsigned value");
3639
            }
3640
            else {
3641
                if (specs.type ==
3642
                    detail::presentation_type::int_unsigned_decimal) {
3643
                    return detail::unexpected_scan_error(
3644
                        scan_error::invalid_scanned_value,
3645
                        "'u'-option disallows negative values");
3646
                }
3647
            }
3648
0
        }
3649
3650
906
        if (prefix_result.is_zero) {
3651
0
            value = T{0};
3652
0
            return std::next(prefix_result.iterator);
3653
0
        }
3654
3655
906
        if (SCN_LIKELY(!specs.localized)) {
3656
906
            SCN_TRY(after_digits_it,
3657
906
                    parse_integer_digits_without_thsep(
3658
906
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
906
                        prefix_result.parsed_base));
3660
3661
906
            auto buf = make_contiguous_buffer(
3662
906
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
906
            SCN_TRY(result_it,
3664
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
0
                                        prefix_result.parsed_base));
3666
3667
0
            return ranges::next(
3668
0
                prefix_result.iterator,
3669
0
                ranges::distance(buf.view().begin(), result_it));
3670
906
        }
3671
3672
0
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
0
            localized_number_formatting_options<CharT>{loc};
3677
0
#endif
3678
3679
0
        SCN_TRY(parse_digits_result,
3680
0
                parse_integer_digits_with_thsep(
3681
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
0
                    prefix_result.parsed_base, locale_options));
3683
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
0
            parse_digits_result;
3685
3686
0
        auto nothsep_source_view =
3687
0
            std::basic_string_view<CharT>{nothsep_source};
3688
0
        SCN_TRY(
3689
0
            nothsep_source_it,
3690
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
0
                                prefix_result.parsed_base));
3692
3693
0
        return ranges::next(
3694
0
            prefix_result.iterator,
3695
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
0
                ranges::ssize(thsep_indices));
3697
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3629
50.1k
    {
3630
50.1k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
50.1k
                                   .transform_error(make_eof_scan_error));
3632
3633
50.1k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
3.07k
            if constexpr (!std::is_signed_v<T>) {
3635
3.07k
                return detail::unexpected_scan_error(
3636
3.07k
                    scan_error::invalid_scanned_value,
3637
3.07k
                    "Unexpected '-' sign when parsing an "
3638
3.07k
                    "unsigned value");
3639
            }
3640
            else {
3641
                if (specs.type ==
3642
                    detail::presentation_type::int_unsigned_decimal) {
3643
                    return detail::unexpected_scan_error(
3644
                        scan_error::invalid_scanned_value,
3645
                        "'u'-option disallows negative values");
3646
                }
3647
            }
3648
3.07k
        }
3649
3650
50.1k
        if (prefix_result.is_zero) {
3651
4.99k
            value = T{0};
3652
4.99k
            return std::next(prefix_result.iterator);
3653
4.99k
        }
3654
3655
45.1k
        if (SCN_LIKELY(!specs.localized)) {
3656
33.0k
            SCN_TRY(after_digits_it,
3657
30.0k
                    parse_integer_digits_without_thsep(
3658
30.0k
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
30.0k
                        prefix_result.parsed_base));
3660
3661
30.0k
            auto buf = make_contiguous_buffer(
3662
30.0k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
30.0k
            SCN_TRY(result_it,
3664
29.8k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
29.8k
                                        prefix_result.parsed_base));
3666
3667
29.8k
            return ranges::next(
3668
29.8k
                prefix_result.iterator,
3669
29.8k
                ranges::distance(buf.view().begin(), result_it));
3670
30.0k
        }
3671
3672
12.1k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
12.1k
            localized_number_formatting_options<CharT>{loc};
3677
12.1k
#endif
3678
3679
12.1k
        SCN_TRY(parse_digits_result,
3680
11.7k
                parse_integer_digits_with_thsep(
3681
11.7k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
11.7k
                    prefix_result.parsed_base, locale_options));
3683
11.7k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
11.7k
            parse_digits_result;
3685
3686
11.7k
        auto nothsep_source_view =
3687
11.7k
            std::basic_string_view<CharT>{nothsep_source};
3688
11.7k
        SCN_TRY(
3689
11.6k
            nothsep_source_it,
3690
11.6k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
11.6k
                                prefix_result.parsed_base));
3692
3693
11.6k
        return ranges::next(
3694
11.6k
            prefix_result.iterator,
3695
11.6k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
11.6k
                ranges::ssize(thsep_indices));
3697
11.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3629
50.2k
    {
3630
50.2k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
50.2k
                                   .transform_error(make_eof_scan_error));
3632
3633
50.2k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
3.07k
            if constexpr (!std::is_signed_v<T>) {
3635
3.07k
                return detail::unexpected_scan_error(
3636
3.07k
                    scan_error::invalid_scanned_value,
3637
3.07k
                    "Unexpected '-' sign when parsing an "
3638
3.07k
                    "unsigned value");
3639
            }
3640
            else {
3641
                if (specs.type ==
3642
                    detail::presentation_type::int_unsigned_decimal) {
3643
                    return detail::unexpected_scan_error(
3644
                        scan_error::invalid_scanned_value,
3645
                        "'u'-option disallows negative values");
3646
                }
3647
            }
3648
3.07k
        }
3649
3650
50.2k
        if (prefix_result.is_zero) {
3651
4.99k
            value = T{0};
3652
4.99k
            return std::next(prefix_result.iterator);
3653
4.99k
        }
3654
3655
45.2k
        if (SCN_LIKELY(!specs.localized)) {
3656
33.0k
            SCN_TRY(after_digits_it,
3657
33.0k
                    parse_integer_digits_without_thsep(
3658
33.0k
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
33.0k
                        prefix_result.parsed_base));
3660
3661
33.0k
            auto buf = make_contiguous_buffer(
3662
33.0k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
33.0k
            SCN_TRY(result_it,
3664
29.7k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
29.7k
                                        prefix_result.parsed_base));
3666
3667
29.7k
            return ranges::next(
3668
29.7k
                prefix_result.iterator,
3669
29.7k
                ranges::distance(buf.view().begin(), result_it));
3670
33.0k
        }
3671
3672
12.1k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
12.1k
            localized_number_formatting_options<CharT>{loc};
3677
12.1k
#endif
3678
3679
12.1k
        SCN_TRY(parse_digits_result,
3680
11.7k
                parse_integer_digits_with_thsep(
3681
11.7k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
11.7k
                    prefix_result.parsed_base, locale_options));
3683
11.7k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
11.7k
            parse_digits_result;
3685
3686
11.7k
        auto nothsep_source_view =
3687
11.7k
            std::basic_string_view<CharT>{nothsep_source};
3688
11.7k
        SCN_TRY(
3689
11.6k
            nothsep_source_it,
3690
11.6k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
11.6k
                                prefix_result.parsed_base));
3692
3693
11.6k
        return ranges::next(
3694
11.6k
            prefix_result.iterator,
3695
11.6k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
11.6k
                ranges::ssize(thsep_indices));
3697
11.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3629
18.0k
    {
3630
18.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
18.0k
                                   .transform_error(make_eof_scan_error));
3632
3633
18.0k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
            if constexpr (!std::is_signed_v<T>) {
3635
                return detail::unexpected_scan_error(
3636
                    scan_error::invalid_scanned_value,
3637
                    "Unexpected '-' sign when parsing an "
3638
                    "unsigned value");
3639
            }
3640
1.58k
            else {
3641
1.58k
                if (specs.type ==
3642
1.58k
                    detail::presentation_type::int_unsigned_decimal) {
3643
0
                    return detail::unexpected_scan_error(
3644
0
                        scan_error::invalid_scanned_value,
3645
0
                        "'u'-option disallows negative values");
3646
0
                }
3647
1.58k
            }
3648
1.58k
        }
3649
3650
18.0k
        if (prefix_result.is_zero) {
3651
38
            value = T{0};
3652
38
            return std::next(prefix_result.iterator);
3653
38
        }
3654
3655
18.0k
        if (SCN_LIKELY(!specs.localized)) {
3656
13.8k
            SCN_TRY(after_digits_it,
3657
352
                    parse_integer_digits_without_thsep(
3658
352
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
352
                        prefix_result.parsed_base));
3660
3661
352
            auto buf = make_contiguous_buffer(
3662
352
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
352
            SCN_TRY(result_it,
3664
308
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
308
                                        prefix_result.parsed_base));
3666
3667
308
            return ranges::next(
3668
308
                prefix_result.iterator,
3669
308
                ranges::distance(buf.view().begin(), result_it));
3670
352
        }
3671
3672
4.15k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
4.15k
            localized_number_formatting_options<CharT>{loc};
3677
4.15k
#endif
3678
3679
4.15k
        SCN_TRY(parse_digits_result,
3680
1.47k
                parse_integer_digits_with_thsep(
3681
1.47k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
1.47k
                    prefix_result.parsed_base, locale_options));
3683
1.47k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
1.47k
            parse_digits_result;
3685
3686
1.47k
        auto nothsep_source_view =
3687
1.47k
            std::basic_string_view<CharT>{nothsep_source};
3688
1.47k
        SCN_TRY(
3689
1.46k
            nothsep_source_it,
3690
1.46k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
1.46k
                                prefix_result.parsed_base));
3692
3693
1.46k
        return ranges::next(
3694
1.46k
            prefix_result.iterator,
3695
1.46k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
1.46k
                ranges::ssize(thsep_indices));
3697
1.47k
    }
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3629
302
    {
3630
302
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
302
                                   .transform_error(make_eof_scan_error));
3632
3633
302
        if (prefix_result.sign == sign_type::minus_sign) {
3634
            if constexpr (!std::is_signed_v<T>) {
3635
                return detail::unexpected_scan_error(
3636
                    scan_error::invalid_scanned_value,
3637
                    "Unexpected '-' sign when parsing an "
3638
                    "unsigned value");
3639
            }
3640
0
            else {
3641
0
                if (specs.type ==
3642
0
                    detail::presentation_type::int_unsigned_decimal) {
3643
0
                    return detail::unexpected_scan_error(
3644
0
                        scan_error::invalid_scanned_value,
3645
0
                        "'u'-option disallows negative values");
3646
0
                }
3647
0
            }
3648
0
        }
3649
3650
302
        if (prefix_result.is_zero) {
3651
12
            value = T{0};
3652
12
            return std::next(prefix_result.iterator);
3653
12
        }
3654
3655
290
        if (SCN_LIKELY(!specs.localized)) {
3656
264
            SCN_TRY(after_digits_it,
3657
16
                    parse_integer_digits_without_thsep(
3658
16
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
16
                        prefix_result.parsed_base));
3660
3661
16
            auto buf = make_contiguous_buffer(
3662
16
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
16
            SCN_TRY(result_it,
3664
16
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
16
                                        prefix_result.parsed_base));
3666
3667
16
            return ranges::next(
3668
16
                prefix_result.iterator,
3669
16
                ranges::distance(buf.view().begin(), result_it));
3670
16
        }
3671
3672
26
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
26
            localized_number_formatting_options<CharT>{loc};
3677
26
#endif
3678
3679
26
        SCN_TRY(parse_digits_result,
3680
4
                parse_integer_digits_with_thsep(
3681
4
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
4
                    prefix_result.parsed_base, locale_options));
3683
4
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
4
            parse_digits_result;
3685
3686
4
        auto nothsep_source_view =
3687
4
            std::basic_string_view<CharT>{nothsep_source};
3688
4
        SCN_TRY(
3689
4
            nothsep_source_it,
3690
4
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
4
                                prefix_result.parsed_base));
3692
3693
4
        return ranges::next(
3694
4
            prefix_result.iterator,
3695
4
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
4
                ranges::ssize(thsep_indices));
3697
4
    }
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3629
18.6k
    {
3630
18.6k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
18.6k
                                   .transform_error(make_eof_scan_error));
3632
3633
18.6k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
            if constexpr (!std::is_signed_v<T>) {
3635
                return detail::unexpected_scan_error(
3636
                    scan_error::invalid_scanned_value,
3637
                    "Unexpected '-' sign when parsing an "
3638
                    "unsigned value");
3639
            }
3640
1.58k
            else {
3641
1.58k
                if (specs.type ==
3642
1.58k
                    detail::presentation_type::int_unsigned_decimal) {
3643
0
                    return detail::unexpected_scan_error(
3644
0
                        scan_error::invalid_scanned_value,
3645
0
                        "'u'-option disallows negative values");
3646
0
                }
3647
1.58k
            }
3648
1.58k
        }
3649
3650
18.6k
        if (prefix_result.is_zero) {
3651
56
            value = T{0};
3652
56
            return std::next(prefix_result.iterator);
3653
56
        }
3654
3655
18.5k
        if (SCN_LIKELY(!specs.localized)) {
3656
14.3k
            SCN_TRY(after_digits_it,
3657
14.3k
                    parse_integer_digits_without_thsep(
3658
14.3k
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
14.3k
                        prefix_result.parsed_base));
3660
3661
14.3k
            auto buf = make_contiguous_buffer(
3662
14.3k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
14.3k
            SCN_TRY(result_it,
3664
346
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
346
                                        prefix_result.parsed_base));
3666
3667
346
            return ranges::next(
3668
346
                prefix_result.iterator,
3669
346
                ranges::distance(buf.view().begin(), result_it));
3670
14.3k
        }
3671
3672
4.18k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
4.18k
            localized_number_formatting_options<CharT>{loc};
3677
4.18k
#endif
3678
3679
4.18k
        SCN_TRY(parse_digits_result,
3680
1.48k
                parse_integer_digits_with_thsep(
3681
1.48k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
1.48k
                    prefix_result.parsed_base, locale_options));
3683
1.48k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
1.48k
            parse_digits_result;
3685
3686
1.48k
        auto nothsep_source_view =
3687
1.48k
            std::basic_string_view<CharT>{nothsep_source};
3688
1.48k
        SCN_TRY(
3689
1.46k
            nothsep_source_it,
3690
1.46k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
1.46k
                                prefix_result.parsed_base));
3692
3693
1.46k
        return ranges::next(
3694
1.46k
            prefix_result.iterator,
3695
1.46k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
1.46k
                ranges::ssize(thsep_indices));
3697
1.48k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3629
18.0k
    {
3630
18.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
18.0k
                                   .transform_error(make_eof_scan_error));
3632
3633
18.0k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
            if constexpr (!std::is_signed_v<T>) {
3635
                return detail::unexpected_scan_error(
3636
                    scan_error::invalid_scanned_value,
3637
                    "Unexpected '-' sign when parsing an "
3638
                    "unsigned value");
3639
            }
3640
1.58k
            else {
3641
1.58k
                if (specs.type ==
3642
1.58k
                    detail::presentation_type::int_unsigned_decimal) {
3643
0
                    return detail::unexpected_scan_error(
3644
0
                        scan_error::invalid_scanned_value,
3645
0
                        "'u'-option disallows negative values");
3646
0
                }
3647
1.58k
            }
3648
1.58k
        }
3649
3650
18.0k
        if (prefix_result.is_zero) {
3651
38
            value = T{0};
3652
38
            return std::next(prefix_result.iterator);
3653
38
        }
3654
3655
17.9k
        if (SCN_LIKELY(!specs.localized)) {
3656
13.8k
            SCN_TRY(after_digits_it,
3657
344
                    parse_integer_digits_without_thsep(
3658
344
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
344
                        prefix_result.parsed_base));
3660
3661
344
            auto buf = make_contiguous_buffer(
3662
344
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
344
            SCN_TRY(result_it,
3664
254
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
254
                                        prefix_result.parsed_base));
3666
3667
254
            return ranges::next(
3668
254
                prefix_result.iterator,
3669
254
                ranges::distance(buf.view().begin(), result_it));
3670
344
        }
3671
3672
4.14k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
4.14k
            localized_number_formatting_options<CharT>{loc};
3677
4.14k
#endif
3678
3679
4.14k
        SCN_TRY(parse_digits_result,
3680
1.47k
                parse_integer_digits_with_thsep(
3681
1.47k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
1.47k
                    prefix_result.parsed_base, locale_options));
3683
1.47k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
1.47k
            parse_digits_result;
3685
3686
1.47k
        auto nothsep_source_view =
3687
1.47k
            std::basic_string_view<CharT>{nothsep_source};
3688
1.47k
        SCN_TRY(
3689
1.44k
            nothsep_source_it,
3690
1.44k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
1.44k
                                prefix_result.parsed_base));
3692
3693
1.44k
        return ranges::next(
3694
1.44k
            prefix_result.iterator,
3695
1.44k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
1.44k
                ranges::ssize(thsep_indices));
3697
1.47k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3629
18.0k
    {
3630
18.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
18.0k
                                   .transform_error(make_eof_scan_error));
3632
3633
18.0k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
            if constexpr (!std::is_signed_v<T>) {
3635
                return detail::unexpected_scan_error(
3636
                    scan_error::invalid_scanned_value,
3637
                    "Unexpected '-' sign when parsing an "
3638
                    "unsigned value");
3639
            }
3640
1.58k
            else {
3641
1.58k
                if (specs.type ==
3642
1.58k
                    detail::presentation_type::int_unsigned_decimal) {
3643
0
                    return detail::unexpected_scan_error(
3644
0
                        scan_error::invalid_scanned_value,
3645
0
                        "'u'-option disallows negative values");
3646
0
                }
3647
1.58k
            }
3648
1.58k
        }
3649
3650
18.0k
        if (prefix_result.is_zero) {
3651
38
            value = T{0};
3652
38
            return std::next(prefix_result.iterator);
3653
38
        }
3654
3655
17.9k
        if (SCN_LIKELY(!specs.localized)) {
3656
13.8k
            SCN_TRY(after_digits_it,
3657
13.7k
                    parse_integer_digits_without_thsep(
3658
13.7k
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
13.7k
                        prefix_result.parsed_base));
3660
3661
13.7k
            auto buf = make_contiguous_buffer(
3662
13.7k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
13.7k
            SCN_TRY(result_it,
3664
254
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
254
                                        prefix_result.parsed_base));
3666
3667
254
            return ranges::next(
3668
254
                prefix_result.iterator,
3669
254
                ranges::distance(buf.view().begin(), result_it));
3670
13.7k
        }
3671
3672
4.14k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
4.14k
            localized_number_formatting_options<CharT>{loc};
3677
4.14k
#endif
3678
3679
4.14k
        SCN_TRY(parse_digits_result,
3680
1.47k
                parse_integer_digits_with_thsep(
3681
1.47k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
1.47k
                    prefix_result.parsed_base, locale_options));
3683
1.47k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
1.47k
            parse_digits_result;
3685
3686
1.47k
        auto nothsep_source_view =
3687
1.47k
            std::basic_string_view<CharT>{nothsep_source};
3688
1.47k
        SCN_TRY(
3689
1.44k
            nothsep_source_it,
3690
1.44k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
1.44k
                                prefix_result.parsed_base));
3692
3693
1.44k
        return ranges::next(
3694
1.44k
            prefix_result.iterator,
3695
1.44k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
1.44k
                ranges::ssize(thsep_indices));
3697
1.47k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3629
18.1k
    {
3630
18.1k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
18.1k
                                   .transform_error(make_eof_scan_error));
3632
3633
18.1k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
            if constexpr (!std::is_signed_v<T>) {
3635
                return detail::unexpected_scan_error(
3636
                    scan_error::invalid_scanned_value,
3637
                    "Unexpected '-' sign when parsing an "
3638
                    "unsigned value");
3639
            }
3640
1.59k
            else {
3641
1.59k
                if (specs.type ==
3642
1.59k
                    detail::presentation_type::int_unsigned_decimal) {
3643
0
                    return detail::unexpected_scan_error(
3644
0
                        scan_error::invalid_scanned_value,
3645
0
                        "'u'-option disallows negative values");
3646
0
                }
3647
1.59k
            }
3648
1.59k
        }
3649
3650
18.1k
        if (prefix_result.is_zero) {
3651
44
            value = T{0};
3652
44
            return std::next(prefix_result.iterator);
3653
44
        }
3654
3655
18.1k
        if (SCN_LIKELY(!specs.localized)) {
3656
13.9k
            SCN_TRY(after_digits_it,
3657
374
                    parse_integer_digits_without_thsep(
3658
374
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
374
                        prefix_result.parsed_base));
3660
3661
374
            auto buf = make_contiguous_buffer(
3662
374
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
374
            SCN_TRY(result_it,
3664
364
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
364
                                        prefix_result.parsed_base));
3666
3667
364
            return ranges::next(
3668
364
                prefix_result.iterator,
3669
364
                ranges::distance(buf.view().begin(), result_it));
3670
374
        }
3671
3672
4.18k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
4.18k
            localized_number_formatting_options<CharT>{loc};
3677
4.18k
#endif
3678
3679
4.18k
        SCN_TRY(parse_digits_result,
3680
1.48k
                parse_integer_digits_with_thsep(
3681
1.48k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
1.48k
                    prefix_result.parsed_base, locale_options));
3683
1.48k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
1.48k
            parse_digits_result;
3685
3686
1.48k
        auto nothsep_source_view =
3687
1.48k
            std::basic_string_view<CharT>{nothsep_source};
3688
1.48k
        SCN_TRY(
3689
1.48k
            nothsep_source_it,
3690
1.48k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
1.48k
                                prefix_result.parsed_base));
3692
3693
1.48k
        return ranges::next(
3694
1.48k
            prefix_result.iterator,
3695
1.48k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
1.48k
                ranges::ssize(thsep_indices));
3697
1.48k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3629
18.1k
    {
3630
18.1k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
18.1k
                                   .transform_error(make_eof_scan_error));
3632
3633
18.1k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
            if constexpr (!std::is_signed_v<T>) {
3635
                return detail::unexpected_scan_error(
3636
                    scan_error::invalid_scanned_value,
3637
                    "Unexpected '-' sign when parsing an "
3638
                    "unsigned value");
3639
            }
3640
1.59k
            else {
3641
1.59k
                if (specs.type ==
3642
1.59k
                    detail::presentation_type::int_unsigned_decimal) {
3643
0
                    return detail::unexpected_scan_error(
3644
0
                        scan_error::invalid_scanned_value,
3645
0
                        "'u'-option disallows negative values");
3646
0
                }
3647
1.59k
            }
3648
1.59k
        }
3649
3650
18.1k
        if (prefix_result.is_zero) {
3651
44
            value = T{0};
3652
44
            return std::next(prefix_result.iterator);
3653
44
        }
3654
3655
18.1k
        if (SCN_LIKELY(!specs.localized)) {
3656
13.9k
            SCN_TRY(after_digits_it,
3657
13.8k
                    parse_integer_digits_without_thsep(
3658
13.8k
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
13.8k
                        prefix_result.parsed_base));
3660
3661
13.8k
            auto buf = make_contiguous_buffer(
3662
13.8k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
13.8k
            SCN_TRY(result_it,
3664
364
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
364
                                        prefix_result.parsed_base));
3666
3667
364
            return ranges::next(
3668
364
                prefix_result.iterator,
3669
364
                ranges::distance(buf.view().begin(), result_it));
3670
13.8k
        }
3671
3672
4.18k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
4.18k
            localized_number_formatting_options<CharT>{loc};
3677
4.18k
#endif
3678
3679
4.18k
        SCN_TRY(parse_digits_result,
3680
1.48k
                parse_integer_digits_with_thsep(
3681
1.48k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
1.48k
                    prefix_result.parsed_base, locale_options));
3683
1.48k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
1.48k
            parse_digits_result;
3685
3686
1.48k
        auto nothsep_source_view =
3687
1.48k
            std::basic_string_view<CharT>{nothsep_source};
3688
1.48k
        SCN_TRY(
3689
1.48k
            nothsep_source_it,
3690
1.48k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
1.48k
                                prefix_result.parsed_base));
3692
3693
1.48k
        return ranges::next(
3694
1.48k
            prefix_result.iterator,
3695
1.48k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
1.48k
                ranges::ssize(thsep_indices));
3697
1.48k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3629
17.9k
    {
3630
17.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
17.9k
                                   .transform_error(make_eof_scan_error));
3632
3633
17.9k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
1.57k
            if constexpr (!std::is_signed_v<T>) {
3635
1.57k
                return detail::unexpected_scan_error(
3636
1.57k
                    scan_error::invalid_scanned_value,
3637
1.57k
                    "Unexpected '-' sign when parsing an "
3638
1.57k
                    "unsigned value");
3639
            }
3640
            else {
3641
                if (specs.type ==
3642
                    detail::presentation_type::int_unsigned_decimal) {
3643
                    return detail::unexpected_scan_error(
3644
                        scan_error::invalid_scanned_value,
3645
                        "'u'-option disallows negative values");
3646
                }
3647
            }
3648
1.57k
        }
3649
3650
17.9k
        if (prefix_result.is_zero) {
3651
36
            value = T{0};
3652
36
            return std::next(prefix_result.iterator);
3653
36
        }
3654
3655
17.9k
        if (SCN_LIKELY(!specs.localized)) {
3656
13.6k
            SCN_TRY(after_digits_it,
3657
288
                    parse_integer_digits_without_thsep(
3658
288
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
288
                        prefix_result.parsed_base));
3660
3661
288
            auto buf = make_contiguous_buffer(
3662
288
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
288
            SCN_TRY(result_it,
3664
218
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
218
                                        prefix_result.parsed_base));
3666
3667
218
            return ranges::next(
3668
218
                prefix_result.iterator,
3669
218
                ranges::distance(buf.view().begin(), result_it));
3670
288
        }
3671
3672
4.30k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
4.30k
            localized_number_formatting_options<CharT>{loc};
3677
4.30k
#endif
3678
3679
4.30k
        SCN_TRY(parse_digits_result,
3680
3.02k
                parse_integer_digits_with_thsep(
3681
3.02k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
3.02k
                    prefix_result.parsed_base, locale_options));
3683
3.02k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
3.02k
            parse_digits_result;
3685
3686
3.02k
        auto nothsep_source_view =
3687
3.02k
            std::basic_string_view<CharT>{nothsep_source};
3688
3.02k
        SCN_TRY(
3689
3.00k
            nothsep_source_it,
3690
3.00k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
3.00k
                                prefix_result.parsed_base));
3692
3693
3.00k
        return ranges::next(
3694
3.00k
            prefix_result.iterator,
3695
3.00k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
3.00k
                ranges::ssize(thsep_indices));
3697
3.02k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3629
17.9k
    {
3630
17.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
17.9k
                                   .transform_error(make_eof_scan_error));
3632
3633
17.9k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
1.57k
            if constexpr (!std::is_signed_v<T>) {
3635
1.57k
                return detail::unexpected_scan_error(
3636
1.57k
                    scan_error::invalid_scanned_value,
3637
1.57k
                    "Unexpected '-' sign when parsing an "
3638
1.57k
                    "unsigned value");
3639
            }
3640
            else {
3641
                if (specs.type ==
3642
                    detail::presentation_type::int_unsigned_decimal) {
3643
                    return detail::unexpected_scan_error(
3644
                        scan_error::invalid_scanned_value,
3645
                        "'u'-option disallows negative values");
3646
                }
3647
            }
3648
1.57k
        }
3649
3650
17.9k
        if (prefix_result.is_zero) {
3651
36
            value = T{0};
3652
36
            return std::next(prefix_result.iterator);
3653
36
        }
3654
3655
17.9k
        if (SCN_LIKELY(!specs.localized)) {
3656
13.6k
            SCN_TRY(after_digits_it,
3657
13.6k
                    parse_integer_digits_without_thsep(
3658
13.6k
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
13.6k
                        prefix_result.parsed_base));
3660
3661
13.6k
            auto buf = make_contiguous_buffer(
3662
13.6k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
13.6k
            SCN_TRY(result_it,
3664
218
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
218
                                        prefix_result.parsed_base));
3666
3667
218
            return ranges::next(
3668
218
                prefix_result.iterator,
3669
218
                ranges::distance(buf.view().begin(), result_it));
3670
13.6k
        }
3671
3672
4.30k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
4.30k
            localized_number_formatting_options<CharT>{loc};
3677
4.30k
#endif
3678
3679
4.30k
        SCN_TRY(parse_digits_result,
3680
3.02k
                parse_integer_digits_with_thsep(
3681
3.02k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
3.02k
                    prefix_result.parsed_base, locale_options));
3683
3.02k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
3.02k
            parse_digits_result;
3685
3686
3.02k
        auto nothsep_source_view =
3687
3.02k
            std::basic_string_view<CharT>{nothsep_source};
3688
3.02k
        SCN_TRY(
3689
3.00k
            nothsep_source_it,
3690
3.00k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
3.00k
                                prefix_result.parsed_base));
3692
3693
3.00k
        return ranges::next(
3694
3.00k
            prefix_result.iterator,
3695
3.00k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
3.00k
                ranges::ssize(thsep_indices));
3697
3.02k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3629
18.0k
    {
3630
18.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
18.0k
                                   .transform_error(make_eof_scan_error));
3632
3633
18.0k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
1.57k
            if constexpr (!std::is_signed_v<T>) {
3635
1.57k
                return detail::unexpected_scan_error(
3636
1.57k
                    scan_error::invalid_scanned_value,
3637
1.57k
                    "Unexpected '-' sign when parsing an "
3638
1.57k
                    "unsigned value");
3639
            }
3640
            else {
3641
                if (specs.type ==
3642
                    detail::presentation_type::int_unsigned_decimal) {
3643
                    return detail::unexpected_scan_error(
3644
                        scan_error::invalid_scanned_value,
3645
                        "'u'-option disallows negative values");
3646
                }
3647
            }
3648
1.57k
        }
3649
3650
18.0k
        if (prefix_result.is_zero) {
3651
36
            value = T{0};
3652
36
            return std::next(prefix_result.iterator);
3653
36
        }
3654
3655
17.9k
        if (SCN_LIKELY(!specs.localized)) {
3656
13.6k
            SCN_TRY(after_digits_it,
3657
294
                    parse_integer_digits_without_thsep(
3658
294
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
294
                        prefix_result.parsed_base));
3660
3661
294
            auto buf = make_contiguous_buffer(
3662
294
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
294
            SCN_TRY(result_it,
3664
252
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
252
                                        prefix_result.parsed_base));
3666
3667
252
            return ranges::next(
3668
252
                prefix_result.iterator,
3669
252
                ranges::distance(buf.view().begin(), result_it));
3670
294
        }
3671
3672
4.31k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
4.31k
            localized_number_formatting_options<CharT>{loc};
3677
4.31k
#endif
3678
3679
4.31k
        SCN_TRY(parse_digits_result,
3680
3.03k
                parse_integer_digits_with_thsep(
3681
3.03k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
3.03k
                    prefix_result.parsed_base, locale_options));
3683
3.03k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
3.03k
            parse_digits_result;
3685
3686
3.03k
        auto nothsep_source_view =
3687
3.03k
            std::basic_string_view<CharT>{nothsep_source};
3688
3.03k
        SCN_TRY(
3689
3.01k
            nothsep_source_it,
3690
3.01k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
3.01k
                                prefix_result.parsed_base));
3692
3693
3.01k
        return ranges::next(
3694
3.01k
            prefix_result.iterator,
3695
3.01k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
3.01k
                ranges::ssize(thsep_indices));
3697
3.03k
    }
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3629
258
    {
3630
258
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
258
                                   .transform_error(make_eof_scan_error));
3632
3633
258
        if (prefix_result.sign == sign_type::minus_sign) {
3634
0
            if constexpr (!std::is_signed_v<T>) {
3635
0
                return detail::unexpected_scan_error(
3636
0
                    scan_error::invalid_scanned_value,
3637
0
                    "Unexpected '-' sign when parsing an "
3638
0
                    "unsigned value");
3639
            }
3640
            else {
3641
                if (specs.type ==
3642
                    detail::presentation_type::int_unsigned_decimal) {
3643
                    return detail::unexpected_scan_error(
3644
                        scan_error::invalid_scanned_value,
3645
                        "'u'-option disallows negative values");
3646
                }
3647
            }
3648
0
        }
3649
3650
258
        if (prefix_result.is_zero) {
3651
6
            value = T{0};
3652
6
            return std::next(prefix_result.iterator);
3653
6
        }
3654
3655
252
        if (SCN_LIKELY(!specs.localized)) {
3656
226
            SCN_TRY(after_digits_it,
3657
12
                    parse_integer_digits_without_thsep(
3658
12
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
12
                        prefix_result.parsed_base));
3660
3661
12
            auto buf = make_contiguous_buffer(
3662
12
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
12
            SCN_TRY(result_it,
3664
12
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
12
                                        prefix_result.parsed_base));
3666
3667
12
            return ranges::next(
3668
12
                prefix_result.iterator,
3669
12
                ranges::distance(buf.view().begin(), result_it));
3670
12
        }
3671
3672
26
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
26
            localized_number_formatting_options<CharT>{loc};
3677
26
#endif
3678
3679
26
        SCN_TRY(parse_digits_result,
3680
4
                parse_integer_digits_with_thsep(
3681
4
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
4
                    prefix_result.parsed_base, locale_options));
3683
4
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
4
            parse_digits_result;
3685
3686
4
        auto nothsep_source_view =
3687
4
            std::basic_string_view<CharT>{nothsep_source};
3688
4
        SCN_TRY(
3689
4
            nothsep_source_it,
3690
4
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
4
                                prefix_result.parsed_base));
3692
3693
4
        return ranges::next(
3694
4
            prefix_result.iterator,
3695
4
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
4
                ranges::ssize(thsep_indices));
3697
4
    }
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3629
18.5k
    {
3630
18.5k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
18.5k
                                   .transform_error(make_eof_scan_error));
3632
3633
18.5k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
1.57k
            if constexpr (!std::is_signed_v<T>) {
3635
1.57k
                return detail::unexpected_scan_error(
3636
1.57k
                    scan_error::invalid_scanned_value,
3637
1.57k
                    "Unexpected '-' sign when parsing an "
3638
1.57k
                    "unsigned value");
3639
            }
3640
            else {
3641
                if (specs.type ==
3642
                    detail::presentation_type::int_unsigned_decimal) {
3643
                    return detail::unexpected_scan_error(
3644
                        scan_error::invalid_scanned_value,
3645
                        "'u'-option disallows negative values");
3646
                }
3647
            }
3648
1.57k
        }
3649
3650
18.5k
        if (prefix_result.is_zero) {
3651
46
            value = T{0};
3652
46
            return std::next(prefix_result.iterator);
3653
46
        }
3654
3655
18.4k
        if (SCN_LIKELY(!specs.localized)) {
3656
14.1k
            SCN_TRY(after_digits_it,
3657
14.1k
                    parse_integer_digits_without_thsep(
3658
14.1k
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
14.1k
                        prefix_result.parsed_base));
3660
3661
14.1k
            auto buf = make_contiguous_buffer(
3662
14.1k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
14.1k
            SCN_TRY(result_it,
3664
286
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
286
                                        prefix_result.parsed_base));
3666
3667
286
            return ranges::next(
3668
286
                prefix_result.iterator,
3669
286
                ranges::distance(buf.view().begin(), result_it));
3670
14.1k
        }
3671
3672
4.34k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
4.34k
            localized_number_formatting_options<CharT>{loc};
3677
4.34k
#endif
3678
3679
4.34k
        SCN_TRY(parse_digits_result,
3680
3.03k
                parse_integer_digits_with_thsep(
3681
3.03k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
3.03k
                    prefix_result.parsed_base, locale_options));
3683
3.03k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
3.03k
            parse_digits_result;
3685
3686
3.03k
        auto nothsep_source_view =
3687
3.03k
            std::basic_string_view<CharT>{nothsep_source};
3688
3.03k
        SCN_TRY(
3689
3.02k
            nothsep_source_it,
3690
3.02k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
3.02k
                                prefix_result.parsed_base));
3692
3693
3.02k
        return ranges::next(
3694
3.02k
            prefix_result.iterator,
3695
3.02k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
3.02k
                ranges::ssize(thsep_indices));
3697
3.03k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3629
204
    {
3630
204
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
204
                                   .transform_error(make_eof_scan_error));
3632
3633
204
        if (prefix_result.sign == sign_type::minus_sign) {
3634
0
            if constexpr (!std::is_signed_v<T>) {
3635
0
                return detail::unexpected_scan_error(
3636
0
                    scan_error::invalid_scanned_value,
3637
0
                    "Unexpected '-' sign when parsing an "
3638
0
                    "unsigned value");
3639
            }
3640
            else {
3641
                if (specs.type ==
3642
                    detail::presentation_type::int_unsigned_decimal) {
3643
                    return detail::unexpected_scan_error(
3644
                        scan_error::invalid_scanned_value,
3645
                        "'u'-option disallows negative values");
3646
                }
3647
            }
3648
0
        }
3649
3650
204
        if (prefix_result.is_zero) {
3651
0
            value = T{0};
3652
0
            return std::next(prefix_result.iterator);
3653
0
        }
3654
3655
204
        if (SCN_LIKELY(!specs.localized)) {
3656
204
            SCN_TRY(after_digits_it,
3657
10
                    parse_integer_digits_without_thsep(
3658
10
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
10
                        prefix_result.parsed_base));
3660
3661
10
            auto buf = make_contiguous_buffer(
3662
10
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
10
            SCN_TRY(result_it,
3664
10
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
10
                                        prefix_result.parsed_base));
3666
3667
10
            return ranges::next(
3668
10
                prefix_result.iterator,
3669
10
                ranges::distance(buf.view().begin(), result_it));
3670
10
        }
3671
3672
0
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
0
            localized_number_formatting_options<CharT>{loc};
3677
0
#endif
3678
3679
0
        SCN_TRY(parse_digits_result,
3680
0
                parse_integer_digits_with_thsep(
3681
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
0
                    prefix_result.parsed_base, locale_options));
3683
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
0
            parse_digits_result;
3685
3686
0
        auto nothsep_source_view =
3687
0
            std::basic_string_view<CharT>{nothsep_source};
3688
0
        SCN_TRY(
3689
0
            nothsep_source_it,
3690
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
0
                                prefix_result.parsed_base));
3692
3693
0
        return ranges::next(
3694
0
            prefix_result.iterator,
3695
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
0
                ranges::ssize(thsep_indices));
3697
0
    }
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3629
984
    {
3630
984
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
984
                                   .transform_error(make_eof_scan_error));
3632
3633
984
        if (prefix_result.sign == sign_type::minus_sign) {
3634
0
            if constexpr (!std::is_signed_v<T>) {
3635
0
                return detail::unexpected_scan_error(
3636
0
                    scan_error::invalid_scanned_value,
3637
0
                    "Unexpected '-' sign when parsing an "
3638
0
                    "unsigned value");
3639
            }
3640
            else {
3641
                if (specs.type ==
3642
                    detail::presentation_type::int_unsigned_decimal) {
3643
                    return detail::unexpected_scan_error(
3644
                        scan_error::invalid_scanned_value,
3645
                        "'u'-option disallows negative values");
3646
                }
3647
            }
3648
0
        }
3649
3650
984
        if (prefix_result.is_zero) {
3651
0
            value = T{0};
3652
0
            return std::next(prefix_result.iterator);
3653
0
        }
3654
3655
984
        if (SCN_LIKELY(!specs.localized)) {
3656
984
            SCN_TRY(after_digits_it,
3657
984
                    parse_integer_digits_without_thsep(
3658
984
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
984
                        prefix_result.parsed_base));
3660
3661
984
            auto buf = make_contiguous_buffer(
3662
984
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
984
            SCN_TRY(result_it,
3664
32
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
32
                                        prefix_result.parsed_base));
3666
3667
32
            return ranges::next(
3668
32
                prefix_result.iterator,
3669
32
                ranges::distance(buf.view().begin(), result_it));
3670
984
        }
3671
3672
0
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
0
            localized_number_formatting_options<CharT>{loc};
3677
0
#endif
3678
3679
0
        SCN_TRY(parse_digits_result,
3680
0
                parse_integer_digits_with_thsep(
3681
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
0
                    prefix_result.parsed_base, locale_options));
3683
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
0
            parse_digits_result;
3685
3686
0
        auto nothsep_source_view =
3687
0
            std::basic_string_view<CharT>{nothsep_source};
3688
0
        SCN_TRY(
3689
0
            nothsep_source_it,
3690
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
0
                                prefix_result.parsed_base));
3692
3693
0
        return ranges::next(
3694
0
            prefix_result.iterator,
3695
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
0
                ranges::ssize(thsep_indices));
3697
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3629
18.0k
    {
3630
18.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
18.0k
                                   .transform_error(make_eof_scan_error));
3632
3633
18.0k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
1.59k
            if constexpr (!std::is_signed_v<T>) {
3635
1.59k
                return detail::unexpected_scan_error(
3636
1.59k
                    scan_error::invalid_scanned_value,
3637
1.59k
                    "Unexpected '-' sign when parsing an "
3638
1.59k
                    "unsigned value");
3639
            }
3640
            else {
3641
                if (specs.type ==
3642
                    detail::presentation_type::int_unsigned_decimal) {
3643
                    return detail::unexpected_scan_error(
3644
                        scan_error::invalid_scanned_value,
3645
                        "'u'-option disallows negative values");
3646
                }
3647
            }
3648
1.59k
        }
3649
3650
18.0k
        if (prefix_result.is_zero) {
3651
36
            value = T{0};
3652
36
            return std::next(prefix_result.iterator);
3653
36
        }
3654
3655
18.0k
        if (SCN_LIKELY(!specs.localized)) {
3656
13.7k
            SCN_TRY(after_digits_it,
3657
306
                    parse_integer_digits_without_thsep(
3658
306
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
306
                        prefix_result.parsed_base));
3660
3661
306
            auto buf = make_contiguous_buffer(
3662
306
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
306
            SCN_TRY(result_it,
3664
302
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
302
                                        prefix_result.parsed_base));
3666
3667
302
            return ranges::next(
3668
302
                prefix_result.iterator,
3669
302
                ranges::distance(buf.view().begin(), result_it));
3670
306
        }
3671
3672
4.34k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
4.34k
            localized_number_formatting_options<CharT>{loc};
3677
4.34k
#endif
3678
3679
4.34k
        SCN_TRY(parse_digits_result,
3680
3.05k
                parse_integer_digits_with_thsep(
3681
3.05k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
3.05k
                    prefix_result.parsed_base, locale_options));
3683
3.05k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
3.05k
            parse_digits_result;
3685
3686
3.05k
        auto nothsep_source_view =
3687
3.05k
            std::basic_string_view<CharT>{nothsep_source};
3688
3.05k
        SCN_TRY(
3689
3.05k
            nothsep_source_it,
3690
3.05k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
3.05k
                                prefix_result.parsed_base));
3692
3693
3.05k
        return ranges::next(
3694
3.05k
            prefix_result.iterator,
3695
3.05k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
3.05k
                ranges::ssize(thsep_indices));
3697
3.05k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3629
18.0k
    {
3630
18.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3631
18.0k
                                   .transform_error(make_eof_scan_error));
3632
3633
18.0k
        if (prefix_result.sign == sign_type::minus_sign) {
3634
1.59k
            if constexpr (!std::is_signed_v<T>) {
3635
1.59k
                return detail::unexpected_scan_error(
3636
1.59k
                    scan_error::invalid_scanned_value,
3637
1.59k
                    "Unexpected '-' sign when parsing an "
3638
1.59k
                    "unsigned value");
3639
            }
3640
            else {
3641
                if (specs.type ==
3642
                    detail::presentation_type::int_unsigned_decimal) {
3643
                    return detail::unexpected_scan_error(
3644
                        scan_error::invalid_scanned_value,
3645
                        "'u'-option disallows negative values");
3646
                }
3647
            }
3648
1.59k
        }
3649
3650
18.0k
        if (prefix_result.is_zero) {
3651
36
            value = T{0};
3652
36
            return std::next(prefix_result.iterator);
3653
36
        }
3654
3655
18.0k
        if (SCN_LIKELY(!specs.localized)) {
3656
13.7k
            SCN_TRY(after_digits_it,
3657
13.7k
                    parse_integer_digits_without_thsep(
3658
13.7k
                        ranges::subrange{prefix_result.iterator, range.end()},
3659
13.7k
                        prefix_result.parsed_base));
3660
3661
13.7k
            auto buf = make_contiguous_buffer(
3662
13.7k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3663
13.7k
            SCN_TRY(result_it,
3664
302
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3665
302
                                        prefix_result.parsed_base));
3666
3667
302
            return ranges::next(
3668
302
                prefix_result.iterator,
3669
302
                ranges::distance(buf.view().begin(), result_it));
3670
13.7k
        }
3671
3672
4.34k
        auto locale_options =
3673
#if SCN_DISABLE_LOCALE
3674
            localized_number_formatting_options<CharT>{};
3675
#else
3676
4.34k
            localized_number_formatting_options<CharT>{loc};
3677
4.34k
#endif
3678
3679
4.34k
        SCN_TRY(parse_digits_result,
3680
3.05k
                parse_integer_digits_with_thsep(
3681
3.05k
                    ranges::subrange{prefix_result.iterator, range.end()},
3682
3.05k
                    prefix_result.parsed_base, locale_options));
3683
3.05k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3684
3.05k
            parse_digits_result;
3685
3686
3.05k
        auto nothsep_source_view =
3687
3.05k
            std::basic_string_view<CharT>{nothsep_source};
3688
3.05k
        SCN_TRY(
3689
3.05k
            nothsep_source_it,
3690
3.05k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3691
3.05k
                                prefix_result.parsed_base));
3692
3693
3.05k
        return ranges::next(
3694
3.05k
            prefix_result.iterator,
3695
3.05k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3696
3.05k
                ranges::ssize(thsep_indices));
3697
3.05k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
3698
};
3699
3700
/////////////////////////////////////////////////////////////////
3701
// Floating-point reader
3702
/////////////////////////////////////////////////////////////////
3703
3704
struct float_reader_base {
3705
    enum options_type {
3706
        allow_hex = 1,
3707
        allow_scientific = 2,
3708
        allow_fixed = 4,
3709
        allow_thsep = 8
3710
    };
3711
3712
    enum class float_kind {
3713
        tbd = 0,
3714
        generic,             // fixed or scientific
3715
        fixed,               // xxx.yyy
3716
        scientific,          // xxx.yyyEzzz
3717
        hex_without_prefix,  // xxx.yyypzzz
3718
        hex_with_prefix,     // 0Xxxx.yyypzzz
3719
        inf_short,           // inf
3720
        inf_long,            // infinity
3721
        nan_simple,          // nan
3722
        nan_with_payload,    // nan(xxx)
3723
    };
3724
3725
589k
    constexpr float_reader_base() = default;
3726
1.54M
    explicit constexpr float_reader_base(unsigned opt) : m_options(opt) {}
3727
3728
protected:
3729
    unsigned m_options{allow_hex | allow_scientific | allow_fixed};
3730
};
3731
3732
template <typename CharT>
3733
class float_reader : public numeric_reader<CharT>, public float_reader_base {
3734
    using numeric_base = numeric_reader<CharT>;
3735
3736
public:
3737
    using char_type = CharT;
3738
3739
589k
    constexpr float_reader() = default;
scn::v4::impl::float_reader<char>::float_reader()
Line
Count
Source
3739
320k
    constexpr float_reader() = default;
scn::v4::impl::float_reader<wchar_t>::float_reader()
Line
Count
Source
3739
269k
    constexpr float_reader() = default;
3740
3741
1.54M
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
scn::v4::impl::float_reader<char>::float_reader(unsigned int)
Line
Count
Source
3741
818k
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
scn::v4::impl::float_reader<wchar_t>::float_reader(unsigned int)
Line
Count
Source
3741
728k
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
3742
3743
    template <typename Range>
3744
    SCN_NODISCARD auto read_source(Range range, detail::locale_ref)
3745
        -> scan_expected<ranges::const_iterator_t<Range>>
3746
1.73M
    {
3747
1.73M
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3748
0
            m_locale_options = localized_number_formatting_options<CharT>{
3749
0
                classic_with_thsep_tag{}};
3750
0
        }
3751
3752
1.73M
        return read_source_impl(range);
3753
1.73M
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
_ZN3scn2v44impl12float_readerIcE11read_sourceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
Line
Count
Source
3746
469k
    {
3747
469k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3748
0
            m_locale_options = localized_number_formatting_options<CharT>{
3749
0
                classic_with_thsep_tag{}};
3750
0
        }
3751
3752
469k
        return read_source_impl(range);
3753
469k
    }
_ZN3scn2v44impl12float_readerIcE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3746
390
    {
3747
390
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3748
0
            m_locale_options = localized_number_formatting_options<CharT>{
3749
0
                classic_with_thsep_tag{}};
3750
0
        }
3751
3752
390
        return read_source_impl(range);
3753
390
    }
_ZN3scn2v44impl12float_readerIcE11read_sourceINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3746
446k
    {
3747
446k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3748
0
            m_locale_options = localized_number_formatting_options<CharT>{
3749
0
                classic_with_thsep_tag{}};
3750
0
        }
3751
3752
446k
        return read_source_impl(range);
3753
446k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
_ZN3scn2v44impl12float_readerIwE11read_sourceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
Line
Count
Source
3746
408k
    {
3747
408k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3748
0
            m_locale_options = localized_number_formatting_options<CharT>{
3749
0
                classic_with_thsep_tag{}};
3750
0
        }
3751
3752
408k
        return read_source_impl(range);
3753
408k
    }
_ZN3scn2v44impl12float_readerIwE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3746
230
    {
3747
230
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3748
0
            m_locale_options = localized_number_formatting_options<CharT>{
3749
0
                classic_with_thsep_tag{}};
3750
0
        }
3751
3752
230
        return read_source_impl(range);
3753
230
    }
_ZN3scn2v44impl12float_readerIwE11read_sourceINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3746
410k
    {
3747
410k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3748
0
            m_locale_options = localized_number_formatting_options<CharT>{
3749
0
                classic_with_thsep_tag{}};
3750
0
        }
3751
3752
410k
        return read_source_impl(range);
3753
410k
    }
3754
3755
#if !SCN_DISABLE_LOCALE
3756
    template <typename Range>
3757
    SCN_NODISCARD auto read_source_localized(Range range,
3758
                                             detail::locale_ref loc)
3759
        -> scan_expected<ranges::const_iterator_t<Range>>
3760
401k
    {
3761
401k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3762
401k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3763
0
            m_locale_options.thousands_sep = CharT{0};
3764
0
        }
3765
3766
401k
        return read_source_impl(range);
3767
401k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
_ZN3scn2v44impl12float_readerIcE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
Line
Count
Source
3760
116k
    {
3761
116k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3762
116k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3763
0
            m_locale_options.thousands_sep = CharT{0};
3764
0
        }
3765
3766
116k
        return read_source_impl(range);
3767
116k
    }
_ZN3scn2v44impl12float_readerIcE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3760
12
    {
3761
12
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3762
12
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3763
0
            m_locale_options.thousands_sep = CharT{0};
3764
0
        }
3765
3766
12
        return read_source_impl(range);
3767
12
    }
_ZN3scn2v44impl12float_readerIcE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3760
105k
    {
3761
105k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3762
105k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3763
0
            m_locale_options.thousands_sep = CharT{0};
3764
0
        }
3765
3766
105k
        return read_source_impl(range);
3767
105k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
_ZN3scn2v44impl12float_readerIwE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
Line
Count
Source
3760
89.7k
    {
3761
89.7k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3762
89.7k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3763
0
            m_locale_options.thousands_sep = CharT{0};
3764
0
        }
3765
3766
89.7k
        return read_source_impl(range);
3767
89.7k
    }
_ZN3scn2v44impl12float_readerIwE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3760
16
    {
3761
16
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3762
16
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3763
0
            m_locale_options.thousands_sep = CharT{0};
3764
0
        }
3765
3766
16
        return read_source_impl(range);
3767
16
    }
_ZN3scn2v44impl12float_readerIwE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3760
89.8k
    {
3761
89.8k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3762
89.8k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3763
0
            m_locale_options.thousands_sep = CharT{0};
3764
0
        }
3765
3766
89.8k
        return read_source_impl(range);
3767
89.8k
    }
3768
#endif
3769
3770
    template <typename T>
3771
    SCN_NODISCARD scan_expected<std::ptrdiff_t> parse_value(T& value)
3772
1.86M
    {
3773
1.86M
        SCN_EXPECT(m_kind != float_kind::tbd);
3774
3775
1.86M
        const std::ptrdiff_t sign_len =
3776
1.86M
            m_sign != sign_type::default_sign ? 1 : 0;
3777
3778
1.86M
        SCN_TRY(n, parse_value_impl(value));
3779
1.75M
        return n + sign_len + ranges::ssize(m_thsep_indices);
3780
1.86M
    }
scn::v4::scan_expected<long> scn::v4::impl::float_reader<char>::parse_value<float>(float&)
Line
Count
Source
3772
339k
    {
3773
339k
        SCN_EXPECT(m_kind != float_kind::tbd);
3774
3775
339k
        const std::ptrdiff_t sign_len =
3776
339k
            m_sign != sign_type::default_sign ? 1 : 0;
3777
3778
339k
        SCN_TRY(n, parse_value_impl(value));
3779
326k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3780
339k
    }
scn::v4::scan_expected<long> scn::v4::impl::float_reader<char>::parse_value<double>(double&)
Line
Count
Source
3772
354k
    {
3773
354k
        SCN_EXPECT(m_kind != float_kind::tbd);
3774
3775
354k
        const std::ptrdiff_t sign_len =
3776
354k
            m_sign != sign_type::default_sign ? 1 : 0;
3777
3778
354k
        SCN_TRY(n, parse_value_impl(value));
3779
342k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3780
354k
    }
scn::v4::scan_expected<long> scn::v4::impl::float_reader<char>::parse_value<long double>(long double&)
Line
Count
Source
3772
361k
    {
3773
361k
        SCN_EXPECT(m_kind != float_kind::tbd);
3774
3775
361k
        const std::ptrdiff_t sign_len =
3776
361k
            m_sign != sign_type::default_sign ? 1 : 0;
3777
3778
361k
        SCN_TRY(n, parse_value_impl(value));
3779
351k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3780
361k
    }
scn::v4::scan_expected<long> scn::v4::impl::float_reader<wchar_t>::parse_value<float>(float&)
Line
Count
Source
3772
248k
    {
3773
248k
        SCN_EXPECT(m_kind != float_kind::tbd);
3774
3775
248k
        const std::ptrdiff_t sign_len =
3776
248k
            m_sign != sign_type::default_sign ? 1 : 0;
3777
3778
248k
        SCN_TRY(n, parse_value_impl(value));
3779
222k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3780
248k
    }
scn::v4::scan_expected<long> scn::v4::impl::float_reader<wchar_t>::parse_value<double>(double&)
Line
Count
Source
3772
278k
    {
3773
278k
        SCN_EXPECT(m_kind != float_kind::tbd);
3774
3775
278k
        const std::ptrdiff_t sign_len =
3776
278k
            m_sign != sign_type::default_sign ? 1 : 0;
3777
3778
278k
        SCN_TRY(n, parse_value_impl(value));
3779
252k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3780
278k
    }
scn::v4::scan_expected<long> scn::v4::impl::float_reader<wchar_t>::parse_value<long double>(long double&)
Line
Count
Source
3772
284k
    {
3773
284k
        SCN_EXPECT(m_kind != float_kind::tbd);
3774
3775
284k
        const std::ptrdiff_t sign_len =
3776
284k
            m_sign != sign_type::default_sign ? 1 : 0;
3777
3778
284k
        SCN_TRY(n, parse_value_impl(value));
3779
261k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3780
284k
    }
3781
3782
private:
3783
    template <typename Range>
3784
    auto read_source_impl(Range range)
3785
        -> scan_expected<ranges::const_iterator_t<Range>>
3786
2.13M
    {
3787
2.13M
        SCN_TRY(sign_result,
3788
2.13M
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3789
2.13M
        auto it = sign_result.first;
3790
2.13M
        m_sign = sign_result.second;
3791
3792
2.13M
        auto digits_begin = it;
3793
2.13M
        auto r = ranges::subrange{it, range.end()};
3794
        if constexpr (ranges::contiguous_range<Range> &&
3795
1.05M
                      ranges::sized_range<Range>) {
3796
1.05M
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3797
1.05M
                             m_locale_options.decimal_point != CharT{'.'})) {
3798
0
                SCN_TRY_ASSIGN(
3799
0
                    it,
3800
0
                    do_read_source_impl(
3801
0
                        r,
3802
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3803
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3804
0
            }
3805
1.05M
            else {
3806
1.05M
                auto cb = [&](const auto& rr)
3807
1.05M
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3808
677k
                    auto res = read_all(rr);
3809
677k
                    if (SCN_UNLIKELY(res == r.begin())) {
3810
863
                        return detail::unexpected_scan_error(
3811
863
                            scan_error::invalid_scanned_value,
3812
863
                            "Invalid float value");
3813
863
                    }
3814
676k
                    return res;
3815
677k
                };
_ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E1_clISB_EENSC_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSE_IDtfp_EE4typeEEEEEEESM_
Line
Count
Source
3807
353k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3808
353k
                    auto res = read_all(rr);
3809
353k
                    if (SCN_UNLIKELY(res == r.begin())) {
3810
708
                        return detail::unexpected_scan_error(
3811
708
                            scan_error::invalid_scanned_value,
3812
708
                            "Invalid float value");
3813
708
                    }
3814
352k
                    return res;
3815
353k
                };
_ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E1_clISB_EENSC_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSE_IDtfp_EE4typeEEEEEEESM_
Line
Count
Source
3807
323k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3808
323k
                    auto res = read_all(rr);
3809
323k
                    if (SCN_UNLIKELY(res == r.begin())) {
3810
155
                        return detail::unexpected_scan_error(
3811
155
                            scan_error::invalid_scanned_value,
3812
155
                            "Invalid float value");
3813
155
                    }
3814
323k
                    return res;
3815
323k
                };
3816
1.05M
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3817
963k
            }
3818
        }
3819
1.08M
        else {
3820
1.08M
            SCN_TRY_ASSIGN(
3821
903k
                it,
3822
903k
                do_read_source_impl(
3823
903k
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3824
903k
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3825
903k
        }
3826
3827
2.13M
        SCN_EXPECT(m_kind != float_kind::tbd);
3828
3829
1.86M
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3830
1.86M
            m_kind != float_kind::nan_simple &&
3831
1.86M
            m_kind != float_kind::nan_with_payload) {
3832
1.78M
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3833
1.78M
        }
3834
3835
1.86M
        handle_separators();
3836
3837
1.86M
        return it;
3838
2.13M
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_
_ZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3786
585k
    {
3787
585k
        SCN_TRY(sign_result,
3788
585k
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3789
585k
        auto it = sign_result.first;
3790
585k
        m_sign = sign_result.second;
3791
3792
585k
        auto digits_begin = it;
3793
585k
        auto r = ranges::subrange{it, range.end()};
3794
        if constexpr (ranges::contiguous_range<Range> &&
3795
                      ranges::sized_range<Range>) {
3796
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3797
                             m_locale_options.decimal_point != CharT{'.'})) {
3798
                SCN_TRY_ASSIGN(
3799
                    it,
3800
                    do_read_source_impl(
3801
                        r,
3802
                        [&](const auto& rr) { return read_regular_float(rr); },
3803
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3804
            }
3805
            else {
3806
                auto cb = [&](const auto& rr)
3807
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3808
                    auto res = read_all(rr);
3809
                    if (SCN_UNLIKELY(res == r.begin())) {
3810
                        return detail::unexpected_scan_error(
3811
                            scan_error::invalid_scanned_value,
3812
                            "Invalid float value");
3813
                    }
3814
                    return res;
3815
                };
3816
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3817
            }
3818
        }
3819
585k
        else {
3820
585k
            SCN_TRY_ASSIGN(
3821
532k
                it,
3822
532k
                do_read_source_impl(
3823
532k
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3824
532k
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3825
532k
        }
3826
3827
585k
        SCN_EXPECT(m_kind != float_kind::tbd);
3828
3829
532k
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3830
532k
            m_kind != float_kind::nan_simple &&
3831
532k
            m_kind != float_kind::nan_with_payload) {
3832
492k
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3833
492k
        }
3834
3835
532k
        handle_separators();
3836
3837
532k
        return it;
3838
585k
    }
_ZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_
Line
Count
Source
3786
402
    {
3787
402
        SCN_TRY(sign_result,
3788
402
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3789
402
        auto it = sign_result.first;
3790
402
        m_sign = sign_result.second;
3791
3792
402
        auto digits_begin = it;
3793
402
        auto r = ranges::subrange{it, range.end()};
3794
        if constexpr (ranges::contiguous_range<Range> &&
3795
                      ranges::sized_range<Range>) {
3796
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3797
                             m_locale_options.decimal_point != CharT{'.'})) {
3798
                SCN_TRY_ASSIGN(
3799
                    it,
3800
                    do_read_source_impl(
3801
                        r,
3802
                        [&](const auto& rr) { return read_regular_float(rr); },
3803
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3804
            }
3805
            else {
3806
                auto cb = [&](const auto& rr)
3807
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3808
                    auto res = read_all(rr);
3809
                    if (SCN_UNLIKELY(res == r.begin())) {
3810
                        return detail::unexpected_scan_error(
3811
                            scan_error::invalid_scanned_value,
3812
                            "Invalid float value");
3813
                    }
3814
                    return res;
3815
                };
3816
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3817
            }
3818
        }
3819
402
        else {
3820
402
            SCN_TRY_ASSIGN(
3821
0
                it,
3822
0
                do_read_source_impl(
3823
0
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3824
0
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3825
0
        }
3826
3827
402
        SCN_EXPECT(m_kind != float_kind::tbd);
3828
3829
0
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3830
0
            m_kind != float_kind::nan_simple &&
3831
0
            m_kind != float_kind::nan_with_payload) {
3832
0
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3833
0
        }
3834
3835
0
        handle_separators();
3836
3837
0
        return it;
3838
402
    }
_ZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3786
552k
    {
3787
552k
        SCN_TRY(sign_result,
3788
552k
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3789
552k
        auto it = sign_result.first;
3790
552k
        m_sign = sign_result.second;
3791
3792
552k
        auto digits_begin = it;
3793
552k
        auto r = ranges::subrange{it, range.end()};
3794
        if constexpr (ranges::contiguous_range<Range> &&
3795
552k
                      ranges::sized_range<Range>) {
3796
552k
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3797
552k
                             m_locale_options.decimal_point != CharT{'.'})) {
3798
0
                SCN_TRY_ASSIGN(
3799
0
                    it,
3800
0
                    do_read_source_impl(
3801
0
                        r,
3802
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3803
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3804
0
            }
3805
552k
            else {
3806
552k
                auto cb = [&](const auto& rr)
3807
552k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3808
552k
                    auto res = read_all(rr);
3809
552k
                    if (SCN_UNLIKELY(res == r.begin())) {
3810
552k
                        return detail::unexpected_scan_error(
3811
552k
                            scan_error::invalid_scanned_value,
3812
552k
                            "Invalid float value");
3813
552k
                    }
3814
552k
                    return res;
3815
552k
                };
3816
552k
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3817
523k
            }
3818
        }
3819
        else {
3820
            SCN_TRY_ASSIGN(
3821
                it,
3822
                do_read_source_impl(
3823
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3824
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3825
        }
3826
3827
552k
        SCN_EXPECT(m_kind != float_kind::tbd);
3828
3829
523k
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3830
523k
            m_kind != float_kind::nan_simple &&
3831
523k
            m_kind != float_kind::nan_with_payload) {
3832
485k
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3833
485k
        }
3834
3835
523k
        handle_separators();
3836
3837
523k
        return it;
3838
552k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_
_ZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3786
498k
    {
3787
498k
        SCN_TRY(sign_result,
3788
498k
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3789
498k
        auto it = sign_result.first;
3790
498k
        m_sign = sign_result.second;
3791
3792
498k
        auto digits_begin = it;
3793
498k
        auto r = ranges::subrange{it, range.end()};
3794
        if constexpr (ranges::contiguous_range<Range> &&
3795
                      ranges::sized_range<Range>) {
3796
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3797
                             m_locale_options.decimal_point != CharT{'.'})) {
3798
                SCN_TRY_ASSIGN(
3799
                    it,
3800
                    do_read_source_impl(
3801
                        r,
3802
                        [&](const auto& rr) { return read_regular_float(rr); },
3803
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3804
            }
3805
            else {
3806
                auto cb = [&](const auto& rr)
3807
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3808
                    auto res = read_all(rr);
3809
                    if (SCN_UNLIKELY(res == r.begin())) {
3810
                        return detail::unexpected_scan_error(
3811
                            scan_error::invalid_scanned_value,
3812
                            "Invalid float value");
3813
                    }
3814
                    return res;
3815
                };
3816
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3817
            }
3818
        }
3819
498k
        else {
3820
498k
            SCN_TRY_ASSIGN(
3821
371k
                it,
3822
371k
                do_read_source_impl(
3823
371k
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3824
371k
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3825
371k
        }
3826
3827
498k
        SCN_EXPECT(m_kind != float_kind::tbd);
3828
3829
371k
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3830
371k
            m_kind != float_kind::nan_simple &&
3831
371k
            m_kind != float_kind::nan_with_payload) {
3832
371k
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3833
371k
        }
3834
3835
371k
        handle_separators();
3836
3837
371k
        return it;
3838
498k
    }
_ZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_
Line
Count
Source
3786
246
    {
3787
246
        SCN_TRY(sign_result,
3788
246
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3789
246
        auto it = sign_result.first;
3790
246
        m_sign = sign_result.second;
3791
3792
246
        auto digits_begin = it;
3793
246
        auto r = ranges::subrange{it, range.end()};
3794
        if constexpr (ranges::contiguous_range<Range> &&
3795
                      ranges::sized_range<Range>) {
3796
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3797
                             m_locale_options.decimal_point != CharT{'.'})) {
3798
                SCN_TRY_ASSIGN(
3799
                    it,
3800
                    do_read_source_impl(
3801
                        r,
3802
                        [&](const auto& rr) { return read_regular_float(rr); },
3803
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3804
            }
3805
            else {
3806
                auto cb = [&](const auto& rr)
3807
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3808
                    auto res = read_all(rr);
3809
                    if (SCN_UNLIKELY(res == r.begin())) {
3810
                        return detail::unexpected_scan_error(
3811
                            scan_error::invalid_scanned_value,
3812
                            "Invalid float value");
3813
                    }
3814
                    return res;
3815
                };
3816
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3817
            }
3818
        }
3819
246
        else {
3820
246
            SCN_TRY_ASSIGN(
3821
20
                it,
3822
20
                do_read_source_impl(
3823
20
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3824
20
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3825
20
        }
3826
3827
246
        SCN_EXPECT(m_kind != float_kind::tbd);
3828
3829
20
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3830
20
            m_kind != float_kind::nan_simple &&
3831
20
            m_kind != float_kind::nan_with_payload) {
3832
20
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3833
20
        }
3834
3835
20
        handle_separators();
3836
3837
20
        return it;
3838
246
    }
_ZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3786
499k
    {
3787
499k
        SCN_TRY(sign_result,
3788
499k
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3789
499k
        auto it = sign_result.first;
3790
499k
        m_sign = sign_result.second;
3791
3792
499k
        auto digits_begin = it;
3793
499k
        auto r = ranges::subrange{it, range.end()};
3794
        if constexpr (ranges::contiguous_range<Range> &&
3795
499k
                      ranges::sized_range<Range>) {
3796
499k
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3797
499k
                             m_locale_options.decimal_point != CharT{'.'})) {
3798
0
                SCN_TRY_ASSIGN(
3799
0
                    it,
3800
0
                    do_read_source_impl(
3801
0
                        r,
3802
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3803
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3804
0
            }
3805
499k
            else {
3806
499k
                auto cb = [&](const auto& rr)
3807
499k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3808
499k
                    auto res = read_all(rr);
3809
499k
                    if (SCN_UNLIKELY(res == r.begin())) {
3810
499k
                        return detail::unexpected_scan_error(
3811
499k
                            scan_error::invalid_scanned_value,
3812
499k
                            "Invalid float value");
3813
499k
                    }
3814
499k
                    return res;
3815
499k
                };
3816
499k
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3817
439k
            }
3818
        }
3819
        else {
3820
            SCN_TRY_ASSIGN(
3821
                it,
3822
                do_read_source_impl(
3823
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3824
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3825
        }
3826
3827
499k
        SCN_EXPECT(m_kind != float_kind::tbd);
3828
3829
439k
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3830
439k
            m_kind != float_kind::nan_simple &&
3831
439k
            m_kind != float_kind::nan_with_payload) {
3832
439k
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3833
439k
        }
3834
3835
439k
        handle_separators();
3836
3837
439k
        return it;
3838
499k
    }
3839
3840
    template <typename Range>
3841
    auto read_dec_digits(Range range, bool thsep_allowed)
3842
        -> parse_expected<ranges::const_iterator_t<Range>>
3843
2.07M
    {
3844
2.07M
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3845
2.07M
                         thsep_allowed)) {
3846
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3847
0
                return char_to_int(ch) < 10 ||
3848
0
                       ch == m_locale_options.thousands_sep;
3849
0
            });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE_clEw
3850
0
        }
3851
3852
2.07M
        return read_while1_code_unit(
3853
5.60M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE0_clEc
_ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE0_clEc
Line
Count
Source
3853
3.03M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE0_clEc
Line
Count
Source
3853
394
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE0_clEc
Line
Count
Source
3853
1.06M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE0_clEw
_ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE0_clEw
Line
Count
Source
3853
1.05M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE0_clEw
Line
Count
Source
3853
246
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE0_clEw
Line
Count
Source
3853
444k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3854
2.07M
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
_ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
Line
Count
Source
3843
785k
    {
3844
785k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3845
785k
                         thsep_allowed)) {
3846
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3847
0
                return char_to_int(ch) < 10 ||
3848
0
                       ch == m_locale_options.thousands_sep;
3849
0
            });
3850
0
        }
3851
3852
785k
        return read_while1_code_unit(
3853
785k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3854
785k
    }
_ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3843
394
    {
3844
394
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3845
394
                         thsep_allowed)) {
3846
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3847
0
                return char_to_int(ch) < 10 ||
3848
0
                       ch == m_locale_options.thousands_sep;
3849
0
            });
3850
0
        }
3851
3852
394
        return read_while1_code_unit(
3853
394
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3854
394
    }
_ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Line
Count
Source
3843
301k
    {
3844
301k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3845
301k
                         thsep_allowed)) {
3846
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3847
0
                return char_to_int(ch) < 10 ||
3848
0
                       ch == m_locale_options.thousands_sep;
3849
0
            });
3850
0
        }
3851
3852
301k
        return read_while1_code_unit(
3853
301k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3854
301k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
_ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
Line
Count
Source
3843
695k
    {
3844
695k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3845
695k
                         thsep_allowed)) {
3846
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3847
0
                return char_to_int(ch) < 10 ||
3848
0
                       ch == m_locale_options.thousands_sep;
3849
0
            });
3850
0
        }
3851
3852
695k
        return read_while1_code_unit(
3853
695k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3854
695k
    }
_ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3843
242
    {
3844
242
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3845
242
                         thsep_allowed)) {
3846
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3847
0
                return char_to_int(ch) < 10 ||
3848
0
                       ch == m_locale_options.thousands_sep;
3849
0
            });
3850
0
        }
3851
3852
242
        return read_while1_code_unit(
3853
242
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3854
242
    }
_ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Line
Count
Source
3843
295k
    {
3844
295k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3845
295k
                         thsep_allowed)) {
3846
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3847
0
                return char_to_int(ch) < 10 ||
3848
0
                       ch == m_locale_options.thousands_sep;
3849
0
            });
3850
0
        }
3851
3852
295k
        return read_while1_code_unit(
3853
295k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3854
295k
    }
3855
    template <typename Range>
3856
    auto read_hex_digits(Range range, bool thsep_allowed)
3857
        -> parse_expected<ranges::const_iterator_t<Range>>
3858
438k
    {
3859
438k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3860
438k
                         thsep_allowed)) {
3861
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3862
0
                return char_to_int(ch) < 16 ||
3863
0
                       ch == m_locale_options.thousands_sep;
3864
0
            });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE_clEw
3865
0
        }
3866
3867
438k
        return read_while1_code_unit(
3868
1.31M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE0_clEc
_ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE0_clEc
Line
Count
Source
3868
1.02M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
_ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE0_clEc
Line
Count
Source
3868
8
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE0_clEw
_ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE0_clEw
Line
Count
Source
3868
283k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
_ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE0_clEw
Line
Count
Source
3868
28
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE0_clEw
3869
438k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
_ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
Line
Count
Source
3858
260k
    {
3859
260k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3860
260k
                         thsep_allowed)) {
3861
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3862
0
                return char_to_int(ch) < 16 ||
3863
0
                       ch == m_locale_options.thousands_sep;
3864
0
            });
3865
0
        }
3866
3867
260k
        return read_while1_code_unit(
3868
260k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3869
260k
    }
_ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3858
8
    {
3859
8
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3860
8
                         thsep_allowed)) {
3861
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3862
0
                return char_to_int(ch) < 16 ||
3863
0
                       ch == m_locale_options.thousands_sep;
3864
0
            });
3865
0
        }
3866
3867
8
        return read_while1_code_unit(
3868
8
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3869
8
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
_ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
Line
Count
Source
3858
177k
    {
3859
177k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3860
177k
                         thsep_allowed)) {
3861
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3862
0
                return char_to_int(ch) < 16 ||
3863
0
                       ch == m_locale_options.thousands_sep;
3864
0
            });
3865
0
        }
3866
3867
177k
        return read_while1_code_unit(
3868
177k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3869
177k
    }
_ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3858
26
    {
3859
26
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3860
26
                         thsep_allowed)) {
3861
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3862
0
                return char_to_int(ch) < 16 ||
3863
0
                       ch == m_locale_options.thousands_sep;
3864
0
            });
3865
0
        }
3866
3867
26
        return read_while1_code_unit(
3868
26
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3869
26
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
3870
    template <typename Range>
3871
    auto read_hex_prefix(Range range)
3872
        -> parse_expected<ranges::const_iterator_t<Range>>
3873
1.37M
    {
3874
1.37M
        return read_matching_string_classic_nocase(range, "0x");
3875
1.37M
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3873
376k
    {
3874
376k
        return read_matching_string_classic_nocase(range, "0x");
3875
376k
    }
_ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3873
372
    {
3874
372
        return read_matching_string_classic_nocase(range, "0x");
3875
372
    }
_ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3873
353k
    {
3874
353k
        return read_matching_string_classic_nocase(range, "0x");
3875
353k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3873
322k
    {
3874
322k
        return read_matching_string_classic_nocase(range, "0x");
3875
322k
    }
_ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3873
234
    {
3874
234
        return read_matching_string_classic_nocase(range, "0x");
3875
234
    }
_ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3873
323k
    {
3874
323k
        return read_matching_string_classic_nocase(range, "0x");
3875
323k
    }
3876
3877
    template <typename Range>
3878
    auto read_inf(Range range)
3879
        -> parse_expected<ranges::const_iterator_t<Range>>
3880
2.13M
    {
3881
2.13M
        auto it = range.begin();
3882
2.13M
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3883
2.12M
            return unexpected(r.error());
3884
2.12M
        }
3885
14.0k
        else {
3886
14.0k
            it = *r;
3887
14.0k
        }
3888
3889
14.0k
        if (auto r = read_matching_string_classic_nocase(
3890
14.0k
                ranges::subrange{it, range.end()}, "inity");
3891
14.0k
            !r) {
3892
8.93k
            m_kind = float_kind::inf_short;
3893
8.93k
            return it;
3894
8.93k
        }
3895
5.15k
        else {
3896
5.15k
            m_kind = float_kind::inf_long;
3897
5.15k
            return *r;
3898
5.15k
        }
3899
14.0k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3880
585k
    {
3881
585k
        auto it = range.begin();
3882
585k
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3883
578k
            return unexpected(r.error());
3884
578k
        }
3885
7.21k
        else {
3886
7.21k
            it = *r;
3887
7.21k
        }
3888
3889
7.21k
        if (auto r = read_matching_string_classic_nocase(
3890
7.21k
                ranges::subrange{it, range.end()}, "inity");
3891
7.21k
            !r) {
3892
4.53k
            m_kind = float_kind::inf_short;
3893
4.53k
            return it;
3894
4.53k
        }
3895
2.67k
        else {
3896
2.67k
            m_kind = float_kind::inf_long;
3897
2.67k
            return *r;
3898
2.67k
        }
3899
7.21k
    }
_ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3880
402
    {
3881
402
        auto it = range.begin();
3882
402
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3883
402
            return unexpected(r.error());
3884
402
        }
3885
0
        else {
3886
0
            it = *r;
3887
0
        }
3888
3889
0
        if (auto r = read_matching_string_classic_nocase(
3890
0
                ranges::subrange{it, range.end()}, "inity");
3891
0
            !r) {
3892
0
            m_kind = float_kind::inf_short;
3893
0
            return it;
3894
0
        }
3895
0
        else {
3896
0
            m_kind = float_kind::inf_long;
3897
0
            return *r;
3898
0
        }
3899
0
    }
_ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3880
552k
    {
3881
552k
        auto it = range.begin();
3882
552k
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3883
545k
            return unexpected(r.error());
3884
545k
        }
3885
6.87k
        else {
3886
6.87k
            it = *r;
3887
6.87k
        }
3888
3889
6.87k
        if (auto r = read_matching_string_classic_nocase(
3890
6.87k
                ranges::subrange{it, range.end()}, "inity");
3891
6.87k
            !r) {
3892
4.39k
            m_kind = float_kind::inf_short;
3893
4.39k
            return it;
3894
4.39k
        }
3895
2.48k
        else {
3896
2.48k
            m_kind = float_kind::inf_long;
3897
2.48k
            return *r;
3898
2.48k
        }
3899
6.87k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3880
498k
    {
3881
498k
        auto it = range.begin();
3882
498k
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3883
498k
            return unexpected(r.error());
3884
498k
        }
3885
0
        else {
3886
0
            it = *r;
3887
0
        }
3888
3889
0
        if (auto r = read_matching_string_classic_nocase(
3890
0
                ranges::subrange{it, range.end()}, "inity");
3891
0
            !r) {
3892
0
            m_kind = float_kind::inf_short;
3893
0
            return it;
3894
0
        }
3895
0
        else {
3896
0
            m_kind = float_kind::inf_long;
3897
0
            return *r;
3898
0
        }
3899
0
    }
_ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3880
246
    {
3881
246
        auto it = range.begin();
3882
246
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3883
246
            return unexpected(r.error());
3884
246
        }
3885
0
        else {
3886
0
            it = *r;
3887
0
        }
3888
3889
0
        if (auto r = read_matching_string_classic_nocase(
3890
0
                ranges::subrange{it, range.end()}, "inity");
3891
0
            !r) {
3892
0
            m_kind = float_kind::inf_short;
3893
0
            return it;
3894
0
        }
3895
0
        else {
3896
0
            m_kind = float_kind::inf_long;
3897
0
            return *r;
3898
0
        }
3899
0
    }
_ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3880
499k
    {
3881
499k
        auto it = range.begin();
3882
499k
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3883
499k
            return unexpected(r.error());
3884
499k
        }
3885
0
        else {
3886
0
            it = *r;
3887
0
        }
3888
3889
0
        if (auto r = read_matching_string_classic_nocase(
3890
0
                ranges::subrange{it, range.end()}, "inity");
3891
0
            !r) {
3892
0
            m_kind = float_kind::inf_short;
3893
0
            return it;
3894
0
        }
3895
0
        else {
3896
0
            m_kind = float_kind::inf_long;
3897
0
            return *r;
3898
0
        }
3899
0
    }
3900
3901
    template <typename Range>
3902
    auto read_nan(Range range) -> scan_expected<ranges::const_iterator_t<Range>>
3903
2.12M
    {
3904
2.12M
        auto it = range.begin();
3905
2.12M
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3906
2.05M
            return r.transform_error(map_parse_error_to_scan_error(
3907
2.05M
                scan_error::invalid_scanned_value,
3908
2.05M
                "Invalid floating-point NaN value"));
3909
2.05M
        }
3910
66.4k
        else {
3911
66.4k
            it = *r;
3912
66.4k
        }
3913
3914
66.4k
        if (auto r =
3915
66.4k
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3916
66.4k
            !r) {
3917
51.5k
            m_kind = float_kind::nan_simple;
3918
51.5k
            return it;
3919
51.5k
        }
3920
14.9k
        else {
3921
14.9k
            it = *r;
3922
14.9k
        }
3923
3924
14.9k
        auto payload_beg_it = it;
3925
14.9k
        it = read_while_code_unit(
3926
314k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3927
314k
                return is_ascii_char(ch) &&
3928
314k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3929
314k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3930
314k
            });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_ENKUlcE_clEc
_ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlcE_clEc
Line
Count
Source
3926
163k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3927
163k
                return is_ascii_char(ch) &&
3928
163k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3929
163k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3930
163k
            });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_ENKUlcE_clEc
_ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlcE_clEc
Line
Count
Source
3926
150k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3927
150k
                return is_ascii_char(ch) &&
3928
150k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3929
150k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3930
150k
            });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlwE_clEw
3931
14.9k
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3932
3933
14.9k
        m_kind = float_kind::nan_with_payload;
3934
14.9k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3935
14.9k
                                             ')')) {
3936
11.9k
            return *r;
3937
11.9k
        }
3938
2.96k
        return detail::unexpected_scan_error(
3939
2.96k
            scan_error::invalid_scanned_value,
3940
2.96k
            "Invalid floating-point NaN payload");
3941
14.9k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3903
578k
    {
3904
578k
        auto it = range.begin();
3905
578k
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3906
544k
            return r.transform_error(map_parse_error_to_scan_error(
3907
544k
                scan_error::invalid_scanned_value,
3908
544k
                "Invalid floating-point NaN value"));
3909
544k
        }
3910
33.7k
        else {
3911
33.7k
            it = *r;
3912
33.7k
        }
3913
3914
33.7k
        if (auto r =
3915
33.7k
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3916
33.7k
            !r) {
3917
26.0k
            m_kind = float_kind::nan_simple;
3918
26.0k
            return it;
3919
26.0k
        }
3920
7.76k
        else {
3921
7.76k
            it = *r;
3922
7.76k
        }
3923
3924
7.76k
        auto payload_beg_it = it;
3925
7.76k
        it = read_while_code_unit(
3926
7.76k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3927
7.76k
                return is_ascii_char(ch) &&
3928
7.76k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3929
7.76k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3930
7.76k
            });
3931
7.76k
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3932
3933
7.76k
        m_kind = float_kind::nan_with_payload;
3934
7.76k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3935
7.76k
                                             ')')) {
3936
6.24k
            return *r;
3937
6.24k
        }
3938
1.51k
        return detail::unexpected_scan_error(
3939
1.51k
            scan_error::invalid_scanned_value,
3940
1.51k
            "Invalid floating-point NaN payload");
3941
7.76k
    }
_ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3903
402
    {
3904
402
        auto it = range.begin();
3905
402
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3906
402
            return r.transform_error(map_parse_error_to_scan_error(
3907
402
                scan_error::invalid_scanned_value,
3908
402
                "Invalid floating-point NaN value"));
3909
402
        }
3910
0
        else {
3911
0
            it = *r;
3912
0
        }
3913
3914
0
        if (auto r =
3915
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3916
0
            !r) {
3917
0
            m_kind = float_kind::nan_simple;
3918
0
            return it;
3919
0
        }
3920
0
        else {
3921
0
            it = *r;
3922
0
        }
3923
3924
0
        auto payload_beg_it = it;
3925
0
        it = read_while_code_unit(
3926
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3927
0
                return is_ascii_char(ch) &&
3928
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3929
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3930
0
            });
3931
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3932
3933
0
        m_kind = float_kind::nan_with_payload;
3934
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3935
0
                                             ')')) {
3936
0
            return *r;
3937
0
        }
3938
0
        return detail::unexpected_scan_error(
3939
0
            scan_error::invalid_scanned_value,
3940
0
            "Invalid floating-point NaN payload");
3941
0
    }
_ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3903
545k
    {
3904
545k
        auto it = range.begin();
3905
545k
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3906
512k
            return r.transform_error(map_parse_error_to_scan_error(
3907
512k
                scan_error::invalid_scanned_value,
3908
512k
                "Invalid floating-point NaN value"));
3909
512k
        }
3910
32.6k
        else {
3911
32.6k
            it = *r;
3912
32.6k
        }
3913
3914
32.6k
        if (auto r =
3915
32.6k
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3916
32.6k
            !r) {
3917
25.5k
            m_kind = float_kind::nan_simple;
3918
25.5k
            return it;
3919
25.5k
        }
3920
7.16k
        else {
3921
7.16k
            it = *r;
3922
7.16k
        }
3923
3924
7.16k
        auto payload_beg_it = it;
3925
7.16k
        it = read_while_code_unit(
3926
7.16k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3927
7.16k
                return is_ascii_char(ch) &&
3928
7.16k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3929
7.16k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3930
7.16k
            });
3931
7.16k
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3932
3933
7.16k
        m_kind = float_kind::nan_with_payload;
3934
7.16k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3935
7.16k
                                             ')')) {
3936
5.71k
            return *r;
3937
5.71k
        }
3938
1.45k
        return detail::unexpected_scan_error(
3939
1.45k
            scan_error::invalid_scanned_value,
3940
1.45k
            "Invalid floating-point NaN payload");
3941
7.16k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3903
498k
    {
3904
498k
        auto it = range.begin();
3905
498k
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3906
498k
            return r.transform_error(map_parse_error_to_scan_error(
3907
498k
                scan_error::invalid_scanned_value,
3908
498k
                "Invalid floating-point NaN value"));
3909
498k
        }
3910
0
        else {
3911
0
            it = *r;
3912
0
        }
3913
3914
0
        if (auto r =
3915
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3916
0
            !r) {
3917
0
            m_kind = float_kind::nan_simple;
3918
0
            return it;
3919
0
        }
3920
0
        else {
3921
0
            it = *r;
3922
0
        }
3923
3924
0
        auto payload_beg_it = it;
3925
0
        it = read_while_code_unit(
3926
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3927
0
                return is_ascii_char(ch) &&
3928
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3929
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3930
0
            });
3931
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3932
3933
0
        m_kind = float_kind::nan_with_payload;
3934
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3935
0
                                             ')')) {
3936
0
            return *r;
3937
0
        }
3938
0
        return detail::unexpected_scan_error(
3939
0
            scan_error::invalid_scanned_value,
3940
0
            "Invalid floating-point NaN payload");
3941
0
    }
_ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3903
246
    {
3904
246
        auto it = range.begin();
3905
246
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3906
246
            return r.transform_error(map_parse_error_to_scan_error(
3907
246
                scan_error::invalid_scanned_value,
3908
246
                "Invalid floating-point NaN value"));
3909
246
        }
3910
0
        else {
3911
0
            it = *r;
3912
0
        }
3913
3914
0
        if (auto r =
3915
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3916
0
            !r) {
3917
0
            m_kind = float_kind::nan_simple;
3918
0
            return it;
3919
0
        }
3920
0
        else {
3921
0
            it = *r;
3922
0
        }
3923
3924
0
        auto payload_beg_it = it;
3925
0
        it = read_while_code_unit(
3926
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3927
0
                return is_ascii_char(ch) &&
3928
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3929
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3930
0
            });
3931
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3932
3933
0
        m_kind = float_kind::nan_with_payload;
3934
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3935
0
                                             ')')) {
3936
0
            return *r;
3937
0
        }
3938
0
        return detail::unexpected_scan_error(
3939
0
            scan_error::invalid_scanned_value,
3940
0
            "Invalid floating-point NaN payload");
3941
0
    }
_ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3903
499k
    {
3904
499k
        auto it = range.begin();
3905
499k
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3906
499k
            return r.transform_error(map_parse_error_to_scan_error(
3907
499k
                scan_error::invalid_scanned_value,
3908
499k
                "Invalid floating-point NaN value"));
3909
499k
        }
3910
0
        else {
3911
0
            it = *r;
3912
0
        }
3913
3914
0
        if (auto r =
3915
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3916
0
            !r) {
3917
0
            m_kind = float_kind::nan_simple;
3918
0
            return it;
3919
0
        }
3920
0
        else {
3921
0
            it = *r;
3922
0
        }
3923
3924
0
        auto payload_beg_it = it;
3925
0
        it = read_while_code_unit(
3926
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3927
0
                return is_ascii_char(ch) &&
3928
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3929
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3930
0
            });
3931
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3932
3933
0
        m_kind = float_kind::nan_with_payload;
3934
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3935
0
                                             ')')) {
3936
0
            return *r;
3937
0
        }
3938
0
        return detail::unexpected_scan_error(
3939
0
            scan_error::invalid_scanned_value,
3940
0
            "Invalid floating-point NaN payload");
3941
0
    }
3942
3943
    template <typename Range>
3944
    auto read_exponent(Range range, std::string_view exp)
3945
        -> ranges::const_iterator_t<Range>
3946
926k
    {
3947
926k
        if (auto r = read_one_of_code_unit(range, exp)) {
3948
74.3k
            auto beg_exp_it = range.begin();
3949
74.3k
            auto it = *r;
3950
3951
74.3k
            if (auto r_sign =
3952
74.3k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3953
74.0k
                it = r_sign->first;
3954
74.0k
            }
3955
3956
74.3k
            if (auto r_exp = read_while1_code_unit(
3957
74.3k
                    ranges::subrange{it, range.end()},
3958
237k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEENKUlcE_clEc
_ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
3958
137k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEEENKUlcE_clEc
_ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
3958
40.1k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEENKUlwE_clEw
_ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
3958
44.4k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEEENKUlwE_clEw
_ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
3958
15.8k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3959
74.3k
                SCN_UNLIKELY(!r_exp)) {
3960
3.72k
                it = beg_exp_it;
3961
3.72k
            }
3962
70.6k
            else {
3963
70.6k
                it = *r_exp;
3964
70.6k
            }
3965
3966
74.3k
            return it;
3967
74.3k
        }
3968
851k
        return range.begin();
3969
926k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEE
_ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEE
Line
Count
Source
3946
445k
    {
3947
445k
        if (auto r = read_one_of_code_unit(range, exp)) {
3948
40.8k
            auto beg_exp_it = range.begin();
3949
40.8k
            auto it = *r;
3950
3951
40.8k
            if (auto r_sign =
3952
40.8k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3953
40.6k
                it = r_sign->first;
3954
40.6k
            }
3955
3956
40.8k
            if (auto r_exp = read_while1_code_unit(
3957
40.8k
                    ranges::subrange{it, range.end()},
3958
40.8k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3959
40.8k
                SCN_UNLIKELY(!r_exp)) {
3960
1.46k
                it = beg_exp_it;
3961
1.46k
            }
3962
39.4k
            else {
3963
39.4k
                it = *r_exp;
3964
39.4k
            }
3965
3966
40.8k
            return it;
3967
40.8k
        }
3968
404k
        return range.begin();
3969
445k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEE
_ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEE
Line
Count
Source
3946
88.9k
    {
3947
88.9k
        if (auto r = read_one_of_code_unit(range, exp)) {
3948
12.7k
            auto beg_exp_it = range.begin();
3949
12.7k
            auto it = *r;
3950
3951
12.7k
            if (auto r_sign =
3952
12.7k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3953
12.6k
                it = r_sign->first;
3954
12.6k
            }
3955
3956
12.7k
            if (auto r_exp = read_while1_code_unit(
3957
12.7k
                    ranges::subrange{it, range.end()},
3958
12.7k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3959
12.7k
                SCN_UNLIKELY(!r_exp)) {
3960
560
                it = beg_exp_it;
3961
560
            }
3962
12.1k
            else {
3963
12.1k
                it = *r_exp;
3964
12.1k
            }
3965
3966
12.7k
            return it;
3967
12.7k
        }
3968
76.1k
        return range.begin();
3969
88.9k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEE
_ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEE
Line
Count
Source
3946
323k
    {
3947
323k
        if (auto r = read_one_of_code_unit(range, exp)) {
3948
15.1k
            auto beg_exp_it = range.begin();
3949
15.1k
            auto it = *r;
3950
3951
15.1k
            if (auto r_sign =
3952
15.1k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3953
15.1k
                it = r_sign->first;
3954
15.1k
            }
3955
3956
15.1k
            if (auto r_exp = read_while1_code_unit(
3957
15.1k
                    ranges::subrange{it, range.end()},
3958
15.1k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3959
15.1k
                SCN_UNLIKELY(!r_exp)) {
3960
1.23k
                it = beg_exp_it;
3961
1.23k
            }
3962
13.9k
            else {
3963
13.9k
                it = *r_exp;
3964
13.9k
            }
3965
3966
15.1k
            return it;
3967
15.1k
        }
3968
308k
        return range.begin();
3969
323k
    }
_ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEE
Line
Count
Source
3946
20
    {
3947
20
        if (auto r = read_one_of_code_unit(range, exp)) {
3948
0
            auto beg_exp_it = range.begin();
3949
0
            auto it = *r;
3950
3951
0
            if (auto r_sign =
3952
0
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3953
0
                it = r_sign->first;
3954
0
            }
3955
3956
0
            if (auto r_exp = read_while1_code_unit(
3957
0
                    ranges::subrange{it, range.end()},
3958
0
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3959
0
                SCN_UNLIKELY(!r_exp)) {
3960
0
                it = beg_exp_it;
3961
0
            }
3962
0
            else {
3963
0
                it = *r_exp;
3964
0
            }
3965
3966
0
            return it;
3967
0
        }
3968
20
        return range.begin();
3969
20
    }
_ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEE
Line
Count
Source
3946
68.4k
    {
3947
68.4k
        if (auto r = read_one_of_code_unit(range, exp)) {
3948
5.57k
            auto beg_exp_it = range.begin();
3949
5.57k
            auto it = *r;
3950
3951
5.57k
            if (auto r_sign =
3952
5.57k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3953
5.55k
                it = r_sign->first;
3954
5.55k
            }
3955
3956
5.57k
            if (auto r_exp = read_while1_code_unit(
3957
5.57k
                    ranges::subrange{it, range.end()},
3958
5.57k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3959
5.57k
                SCN_UNLIKELY(!r_exp)) {
3960
470
                it = beg_exp_it;
3961
470
            }
3962
5.10k
            else {
3963
5.10k
                it = *r_exp;
3964
5.10k
            }
3965
3966
5.57k
            return it;
3967
5.57k
        }
3968
62.9k
        return range.begin();
3969
68.4k
    }
3970
3971
    template <typename Range>
3972
    auto read_hexfloat(Range range)
3973
        -> scan_expected<ranges::const_iterator_t<Range>>
3974
232k
    {
3975
232k
        auto it = range.begin();
3976
3977
232k
        std::ptrdiff_t digits_count = 0;
3978
232k
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3979
232k
            SCN_UNLIKELY(!r)) {
3980
26.7k
            return r.transform_error(map_parse_error_to_scan_error(
3981
26.7k
                scan_error::invalid_scanned_value,
3982
26.7k
                "Invalid hexadecimal floating-point value"));
3983
26.7k
        }
3984
206k
        else {
3985
206k
            digits_count += ranges::distance(it, *r);
3986
206k
            it = *r;
3987
206k
        }
3988
3989
206k
        m_integral_part_length = digits_count;
3990
206k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3991
206k
                                             m_locale_options.decimal_point)) {
3992
17.0k
            it = *r;
3993
17.0k
        }
3994
3995
206k
        if (auto r =
3996
206k
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3997
14.5k
            digits_count += ranges::distance(it, *r);
3998
14.5k
            it = *r;
3999
14.5k
        }
4000
4001
206k
        if (SCN_UNLIKELY(digits_count == 0)) {
4002
0
            return detail::unexpected_scan_error(
4003
0
                scan_error::invalid_scanned_value,
4004
0
                "No significand digits in hexfloat");
4005
0
        }
4006
4007
206k
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
4008
4009
206k
        return it;
4010
206k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3974
133k
    {
3975
133k
        auto it = range.begin();
3976
3977
133k
        std::ptrdiff_t digits_count = 0;
3978
133k
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3979
133k
            SCN_UNLIKELY(!r)) {
3980
7.01k
            return r.transform_error(map_parse_error_to_scan_error(
3981
7.01k
                scan_error::invalid_scanned_value,
3982
7.01k
                "Invalid hexadecimal floating-point value"));
3983
7.01k
        }
3984
126k
        else {
3985
126k
            digits_count += ranges::distance(it, *r);
3986
126k
            it = *r;
3987
126k
        }
3988
3989
126k
        m_integral_part_length = digits_count;
3990
126k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3991
126k
                                             m_locale_options.decimal_point)) {
3992
16.0k
            it = *r;
3993
16.0k
        }
3994
3995
126k
        if (auto r =
3996
126k
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3997
13.7k
            digits_count += ranges::distance(it, *r);
3998
13.7k
            it = *r;
3999
13.7k
        }
4000
4001
126k
        if (SCN_UNLIKELY(digits_count == 0)) {
4002
0
            return detail::unexpected_scan_error(
4003
0
                scan_error::invalid_scanned_value,
4004
0
                "No significand digits in hexfloat");
4005
0
        }
4006
4007
126k
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
4008
4009
126k
        return it;
4010
126k
    }
_ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3974
8
    {
3975
8
        auto it = range.begin();
3976
3977
8
        std::ptrdiff_t digits_count = 0;
3978
8
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3979
8
            SCN_UNLIKELY(!r)) {
3980
8
            return r.transform_error(map_parse_error_to_scan_error(
3981
8
                scan_error::invalid_scanned_value,
3982
8
                "Invalid hexadecimal floating-point value"));
3983
8
        }
3984
0
        else {
3985
0
            digits_count += ranges::distance(it, *r);
3986
0
            it = *r;
3987
0
        }
3988
3989
0
        m_integral_part_length = digits_count;
3990
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3991
0
                                             m_locale_options.decimal_point)) {
3992
0
            it = *r;
3993
0
        }
3994
3995
0
        if (auto r =
3996
0
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3997
0
            digits_count += ranges::distance(it, *r);
3998
0
            it = *r;
3999
0
        }
4000
4001
0
        if (SCN_UNLIKELY(digits_count == 0)) {
4002
0
            return detail::unexpected_scan_error(
4003
0
                scan_error::invalid_scanned_value,
4004
0
                "No significand digits in hexfloat");
4005
0
        }
4006
4007
0
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
4008
4009
0
        return it;
4010
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3974
98.7k
    {
3975
98.7k
        auto it = range.begin();
3976
3977
98.7k
        std::ptrdiff_t digits_count = 0;
3978
98.7k
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3979
98.7k
            SCN_UNLIKELY(!r)) {
3980
19.6k
            return r.transform_error(map_parse_error_to_scan_error(
3981
19.6k
                scan_error::invalid_scanned_value,
3982
19.6k
                "Invalid hexadecimal floating-point value"));
3983
19.6k
        }
3984
79.0k
        else {
3985
79.0k
            digits_count += ranges::distance(it, *r);
3986
79.0k
            it = *r;
3987
79.0k
        }
3988
3989
79.0k
        m_integral_part_length = digits_count;
3990
79.0k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3991
79.0k
                                             m_locale_options.decimal_point)) {
3992
1.03k
            it = *r;
3993
1.03k
        }
3994
3995
79.0k
        if (auto r =
3996
79.0k
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3997
862
            digits_count += ranges::distance(it, *r);
3998
862
            it = *r;
3999
862
        }
4000
4001
79.0k
        if (SCN_UNLIKELY(digits_count == 0)) {
4002
0
            return detail::unexpected_scan_error(
4003
0
                scan_error::invalid_scanned_value,
4004
0
                "No significand digits in hexfloat");
4005
0
        }
4006
4007
79.0k
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
4008
4009
79.0k
        return it;
4010
79.0k
    }
_ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3974
20
    {
3975
20
        auto it = range.begin();
3976
3977
20
        std::ptrdiff_t digits_count = 0;
3978
20
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3979
20
            SCN_UNLIKELY(!r)) {
3980
14
            return r.transform_error(map_parse_error_to_scan_error(
3981
14
                scan_error::invalid_scanned_value,
3982
14
                "Invalid hexadecimal floating-point value"));
3983
14
        }
3984
6
        else {
3985
6
            digits_count += ranges::distance(it, *r);
3986
6
            it = *r;
3987
6
        }
3988
3989
6
        m_integral_part_length = digits_count;
3990
6
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3991
6
                                             m_locale_options.decimal_point)) {
3992
0
            it = *r;
3993
0
        }
3994
3995
6
        if (auto r =
3996
6
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3997
0
            digits_count += ranges::distance(it, *r);
3998
0
            it = *r;
3999
0
        }
4000
4001
6
        if (SCN_UNLIKELY(digits_count == 0)) {
4002
0
            return detail::unexpected_scan_error(
4003
0
                scan_error::invalid_scanned_value,
4004
0
                "No significand digits in hexfloat");
4005
0
        }
4006
4007
6
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
4008
4009
6
        return it;
4010
6
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
4011
4012
    template <typename Range>
4013
    auto read_regular_float(Range range)
4014
        -> scan_expected<ranges::const_iterator_t<Range>>
4015
1.14M
    {
4016
1.14M
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4017
1.14M
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4018
4019
1.14M
        auto it = ranges::begin(range);
4020
1.14M
        std::ptrdiff_t digits_count = 0;
4021
4022
1.14M
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4023
1.14M
            SCN_UNLIKELY(!r)) {
4024
216k
            return r.transform_error(
4025
216k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4026
216k
                                              "Invalid floating-point value"));
4027
216k
        }
4028
930k
        else {
4029
930k
            digits_count += ranges::distance(it, *r);
4030
930k
            it = *r;
4031
930k
        }
4032
4033
930k
        m_integral_part_length = digits_count;
4034
930k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4035
930k
                                             m_locale_options.decimal_point)) {
4036
83.7k
            it = *r;
4037
83.7k
        }
4038
4039
930k
        if (auto r =
4040
930k
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4041
73.5k
            digits_count += ranges::distance(it, *r);
4042
73.5k
            it = *r;
4043
73.5k
        }
4044
4045
930k
        if (SCN_UNLIKELY(digits_count == 0)) {
4046
0
            return detail::unexpected_scan_error(
4047
0
                scan_error::invalid_scanned_value,
4048
0
                "No significand digits in float");
4049
0
        }
4050
4051
930k
        auto beg_exp_it = it;
4052
930k
        if (allowed_exp) {
4053
720k
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4054
720k
        }
4055
930k
        if (required_exp && beg_exp_it == it) {
4056
24.2k
            return detail::unexpected_scan_error(
4057
24.2k
                scan_error::invalid_scanned_value,
4058
24.2k
                "No exponent given to scientific float");
4059
24.2k
        }
4060
4061
906k
        m_kind =
4062
906k
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4063
4064
906k
        return it;
4065
930k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
4015
410k
    {
4016
410k
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4017
410k
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4018
4019
410k
        auto it = ranges::begin(range);
4020
410k
        std::ptrdiff_t digits_count = 0;
4021
4022
410k
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4023
410k
            SCN_UNLIKELY(!r)) {
4024
36.4k
            return r.transform_error(
4025
36.4k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4026
36.4k
                                              "Invalid floating-point value"));
4027
36.4k
        }
4028
374k
        else {
4029
374k
            digits_count += ranges::distance(it, *r);
4030
374k
            it = *r;
4031
374k
        }
4032
4033
374k
        m_integral_part_length = digits_count;
4034
374k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4035
374k
                                             m_locale_options.decimal_point)) {
4036
56.6k
            it = *r;
4037
56.6k
        }
4038
4039
374k
        if (auto r =
4040
374k
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4041
50.2k
            digits_count += ranges::distance(it, *r);
4042
50.2k
            it = *r;
4043
50.2k
        }
4044
4045
374k
        if (SCN_UNLIKELY(digits_count == 0)) {
4046
0
            return detail::unexpected_scan_error(
4047
0
                scan_error::invalid_scanned_value,
4048
0
                "No significand digits in float");
4049
0
        }
4050
4051
374k
        auto beg_exp_it = it;
4052
374k
        if (allowed_exp) {
4053
318k
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4054
318k
        }
4055
374k
        if (required_exp && beg_exp_it == it) {
4056
8.78k
            return detail::unexpected_scan_error(
4057
8.78k
                scan_error::invalid_scanned_value,
4058
8.78k
                "No exponent given to scientific float");
4059
8.78k
        }
4060
4061
365k
        m_kind =
4062
365k
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4063
4064
365k
        return it;
4065
374k
    }
_ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
4015
394
    {
4016
394
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4017
394
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4018
4019
394
        auto it = ranges::begin(range);
4020
394
        std::ptrdiff_t digits_count = 0;
4021
4022
394
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4023
394
            SCN_UNLIKELY(!r)) {
4024
394
            return r.transform_error(
4025
394
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4026
394
                                              "Invalid floating-point value"));
4027
394
        }
4028
0
        else {
4029
0
            digits_count += ranges::distance(it, *r);
4030
0
            it = *r;
4031
0
        }
4032
4033
0
        m_integral_part_length = digits_count;
4034
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4035
0
                                             m_locale_options.decimal_point)) {
4036
0
            it = *r;
4037
0
        }
4038
4039
0
        if (auto r =
4040
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4041
0
            digits_count += ranges::distance(it, *r);
4042
0
            it = *r;
4043
0
        }
4044
4045
0
        if (SCN_UNLIKELY(digits_count == 0)) {
4046
0
            return detail::unexpected_scan_error(
4047
0
                scan_error::invalid_scanned_value,
4048
0
                "No significand digits in float");
4049
0
        }
4050
4051
0
        auto beg_exp_it = it;
4052
0
        if (allowed_exp) {
4053
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4054
0
        }
4055
0
        if (required_exp && beg_exp_it == it) {
4056
0
            return detail::unexpected_scan_error(
4057
0
                scan_error::invalid_scanned_value,
4058
0
                "No exponent given to scientific float");
4059
0
        }
4060
4061
0
        m_kind =
4062
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4063
4064
0
        return it;
4065
0
    }
_ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
4015
159k
    {
4016
159k
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4017
159k
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4018
4019
159k
        auto it = ranges::begin(range);
4020
159k
        std::ptrdiff_t digits_count = 0;
4021
4022
159k
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4023
159k
            SCN_UNLIKELY(!r)) {
4024
18.5k
            return r.transform_error(
4025
18.5k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4026
18.5k
                                              "Invalid floating-point value"));
4027
18.5k
        }
4028
141k
        else {
4029
141k
            digits_count += ranges::distance(it, *r);
4030
141k
            it = *r;
4031
141k
        }
4032
4033
141k
        m_integral_part_length = digits_count;
4034
141k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4035
141k
                                             m_locale_options.decimal_point)) {
4036
20.3k
            it = *r;
4037
20.3k
        }
4038
4039
141k
        if (auto r =
4040
141k
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4041
17.7k
            digits_count += ranges::distance(it, *r);
4042
17.7k
            it = *r;
4043
17.7k
        }
4044
4045
141k
        if (SCN_UNLIKELY(digits_count == 0)) {
4046
0
            return detail::unexpected_scan_error(
4047
0
                scan_error::invalid_scanned_value,
4048
0
                "No significand digits in float");
4049
0
        }
4050
4051
141k
        auto beg_exp_it = it;
4052
141k
        if (allowed_exp) {
4053
88.9k
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4054
88.9k
        }
4055
141k
        if (required_exp && beg_exp_it == it) {
4056
8.61k
            return detail::unexpected_scan_error(
4057
8.61k
                scan_error::invalid_scanned_value,
4058
8.61k
                "No exponent given to scientific float");
4059
8.61k
        }
4060
4061
132k
        m_kind =
4062
132k
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4063
4064
132k
        return it;
4065
141k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
4015
399k
    {
4016
399k
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4017
399k
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4018
4019
399k
        auto it = ranges::begin(range);
4020
399k
        std::ptrdiff_t digits_count = 0;
4021
4022
399k
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4023
399k
            SCN_UNLIKELY(!r)) {
4024
104k
            return r.transform_error(
4025
104k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4026
104k
                                              "Invalid floating-point value"));
4027
104k
        }
4028
295k
        else {
4029
295k
            digits_count += ranges::distance(it, *r);
4030
295k
            it = *r;
4031
295k
        }
4032
4033
295k
        m_integral_part_length = digits_count;
4034
295k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4035
295k
                                             m_locale_options.decimal_point)) {
4036
4.60k
            it = *r;
4037
4.60k
        }
4038
4039
295k
        if (auto r =
4040
295k
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4041
3.79k
            digits_count += ranges::distance(it, *r);
4042
3.79k
            it = *r;
4043
3.79k
        }
4044
4045
295k
        if (SCN_UNLIKELY(digits_count == 0)) {
4046
0
            return detail::unexpected_scan_error(
4047
0
                scan_error::invalid_scanned_value,
4048
0
                "No significand digits in float");
4049
0
        }
4050
4051
295k
        auto beg_exp_it = it;
4052
295k
        if (allowed_exp) {
4053
244k
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4054
244k
        }
4055
295k
        if (required_exp && beg_exp_it == it) {
4056
3.41k
            return detail::unexpected_scan_error(
4057
3.41k
                scan_error::invalid_scanned_value,
4058
3.41k
                "No exponent given to scientific float");
4059
3.41k
        }
4060
4061
291k
        m_kind =
4062
291k
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4063
4064
291k
        return it;
4065
295k
    }
_ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
4015
226
    {
4016
226
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4017
226
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4018
4019
226
        auto it = ranges::begin(range);
4020
226
        std::ptrdiff_t digits_count = 0;
4021
4022
226
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4023
226
            SCN_UNLIKELY(!r)) {
4024
210
            return r.transform_error(
4025
210
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4026
210
                                              "Invalid floating-point value"));
4027
210
        }
4028
16
        else {
4029
16
            digits_count += ranges::distance(it, *r);
4030
16
            it = *r;
4031
16
        }
4032
4033
16
        m_integral_part_length = digits_count;
4034
16
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4035
16
                                             m_locale_options.decimal_point)) {
4036
0
            it = *r;
4037
0
        }
4038
4039
16
        if (auto r =
4040
16
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4041
0
            digits_count += ranges::distance(it, *r);
4042
0
            it = *r;
4043
0
        }
4044
4045
16
        if (SCN_UNLIKELY(digits_count == 0)) {
4046
0
            return detail::unexpected_scan_error(
4047
0
                scan_error::invalid_scanned_value,
4048
0
                "No significand digits in float");
4049
0
        }
4050
4051
16
        auto beg_exp_it = it;
4052
16
        if (allowed_exp) {
4053
14
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4054
14
        }
4055
16
        if (required_exp && beg_exp_it == it) {
4056
2
            return detail::unexpected_scan_error(
4057
2
                scan_error::invalid_scanned_value,
4058
2
                "No exponent given to scientific float");
4059
2
        }
4060
4061
14
        m_kind =
4062
14
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4063
4064
14
        return it;
4065
16
    }
_ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
4015
176k
    {
4016
176k
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4017
176k
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4018
4019
176k
        auto it = ranges::begin(range);
4020
176k
        std::ptrdiff_t digits_count = 0;
4021
4022
176k
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4023
176k
            SCN_UNLIKELY(!r)) {
4024
56.4k
            return r.transform_error(
4025
56.4k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4026
56.4k
                                              "Invalid floating-point value"));
4027
56.4k
        }
4028
119k
        else {
4029
119k
            digits_count += ranges::distance(it, *r);
4030
119k
            it = *r;
4031
119k
        }
4032
4033
119k
        m_integral_part_length = digits_count;
4034
119k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4035
119k
                                             m_locale_options.decimal_point)) {
4036
2.11k
            it = *r;
4037
2.11k
        }
4038
4039
119k
        if (auto r =
4040
119k
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4041
1.72k
            digits_count += ranges::distance(it, *r);
4042
1.72k
            it = *r;
4043
1.72k
        }
4044
4045
119k
        if (SCN_UNLIKELY(digits_count == 0)) {
4046
0
            return detail::unexpected_scan_error(
4047
0
                scan_error::invalid_scanned_value,
4048
0
                "No significand digits in float");
4049
0
        }
4050
4051
119k
        auto beg_exp_it = it;
4052
119k
        if (allowed_exp) {
4053
68.4k
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4054
68.4k
        }
4055
119k
        if (required_exp && beg_exp_it == it) {
4056
3.41k
            return detail::unexpected_scan_error(
4057
3.41k
                scan_error::invalid_scanned_value,
4058
3.41k
                "No exponent given to scientific float");
4059
3.41k
        }
4060
4061
116k
        m_kind =
4062
116k
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4063
4064
116k
        return it;
4065
119k
    }
4066
4067
    template <typename Range, typename ReadRegular, typename ReadHex>
4068
    auto do_read_source_impl(Range range,
4069
                             ReadRegular&& read_regular,
4070
                             ReadHex&& read_hex)
4071
        -> scan_expected<ranges::const_iterator_t<Range>>
4072
2.13M
    {
4073
2.13M
        const bool allowed_hex = (m_options & allow_hex) != 0;
4074
2.13M
        const bool allowed_nonhex =
4075
2.13M
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4076
2.13M
             ~static_cast<unsigned>(allow_hex)) != 0;
4077
4078
2.13M
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4079
0
            return r.transform_error(map_parse_error_to_scan_error(
4080
0
                scan_error::invalid_scanned_value,
4081
0
                "Invalid infinite floating-point value"));
4082
0
        }
4083
2.13M
        else if (r) {
4084
14.0k
            return *r;
4085
14.0k
        }
4086
4087
2.12M
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4088
2.96k
            return unexpected(r.error());
4089
2.96k
        }
4090
2.12M
        else if (r) {
4091
63.5k
            return *r;
4092
63.5k
        }
4093
4094
2.05M
        if (allowed_hex && !allowed_nonhex) {
4095
            // only hex allowed:
4096
            // prefix "0x" allowed, not required
4097
422k
            auto it = range.begin();
4098
4099
422k
            if (auto r = read_hex_prefix(range)) {
4100
11.8k
                m_kind = float_kind::hex_with_prefix;
4101
11.8k
                it = *r;
4102
11.8k
            }
4103
410k
            else {
4104
410k
                m_kind = float_kind::hex_without_prefix;
4105
410k
            }
4106
4107
422k
            return read_hex(ranges::subrange{it, range.end()});
4108
422k
        }
4109
1.63M
        if (!allowed_hex && allowed_nonhex) {
4110
            // only nonhex allowed:
4111
            // no prefix allowed
4112
680k
            m_kind = float_kind::generic;
4113
680k
            return read_regular_float(range);
4114
680k
        }
4115
        // both hex and nonhex allowed:
4116
        // check for "0x" prefix -> hex,
4117
        // regular otherwise
4118
4119
954k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4120
28.5k
            m_kind = float_kind::hex_with_prefix;
4121
28.5k
            return read_hex(ranges::subrange{*r, range.end()});
4122
28.5k
        }
4123
4124
925k
        m_kind = float_kind::generic;
4125
925k
        return read_regular(range);
4126
954k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEZNS3_16read_source_implISJ_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlRKSR_E_ZNSN_ISJ_EESW_SR_EUlSY_E0_EESW_SR_OT0_OT1_
_ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_16read_source_implISE_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlRKSJ_E_ZNSF_ISE_EESO_SJ_EUlSQ_E0_EESO_SJ_OT0_OT1_
Line
Count
Source
4072
585k
    {
4073
585k
        const bool allowed_hex = (m_options & allow_hex) != 0;
4074
585k
        const bool allowed_nonhex =
4075
585k
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4076
585k
             ~static_cast<unsigned>(allow_hex)) != 0;
4077
4078
585k
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4079
0
            return r.transform_error(map_parse_error_to_scan_error(
4080
0
                scan_error::invalid_scanned_value,
4081
0
                "Invalid infinite floating-point value"));
4082
0
        }
4083
585k
        else if (r) {
4084
7.21k
            return *r;
4085
7.21k
        }
4086
4087
578k
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4088
1.51k
            return unexpected(r.error());
4089
1.51k
        }
4090
577k
        else if (r) {
4091
32.2k
            return *r;
4092
32.2k
        }
4093
4094
544k
        if (allowed_hex && !allowed_nonhex) {
4095
            // only hex allowed:
4096
            // prefix "0x" allowed, not required
4097
118k
            auto it = range.begin();
4098
4099
118k
            if (auto r = read_hex_prefix(range)) {
4100
6.58k
                m_kind = float_kind::hex_with_prefix;
4101
6.58k
                it = *r;
4102
6.58k
            }
4103
111k
            else {
4104
111k
                m_kind = float_kind::hex_without_prefix;
4105
111k
            }
4106
4107
118k
            return read_hex(ranges::subrange{it, range.end()});
4108
118k
        }
4109
426k
        if (!allowed_hex && allowed_nonhex) {
4110
            // only nonhex allowed:
4111
            // no prefix allowed
4112
168k
            m_kind = float_kind::generic;
4113
168k
            return read_regular_float(range);
4114
168k
        }
4115
        // both hex and nonhex allowed:
4116
        // check for "0x" prefix -> hex,
4117
        // regular otherwise
4118
4119
257k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4120
15.6k
            m_kind = float_kind::hex_with_prefix;
4121
15.6k
            return read_hex(ranges::subrange{*r, range.end()});
4122
15.6k
        }
4123
4124
242k
        m_kind = float_kind::generic;
4125
242k
        return read_regular(range);
4126
257k
    }
_ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEZNS3_16read_source_implISG_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_EUlRKSO_E_ZNSK_ISG_EEST_SO_EUlSV_E0_EEST_SO_OT0_OT1_
Line
Count
Source
4072
402
    {
4073
402
        const bool allowed_hex = (m_options & allow_hex) != 0;
4074
402
        const bool allowed_nonhex =
4075
402
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4076
402
             ~static_cast<unsigned>(allow_hex)) != 0;
4077
4078
402
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4079
0
            return r.transform_error(map_parse_error_to_scan_error(
4080
0
                scan_error::invalid_scanned_value,
4081
0
                "Invalid infinite floating-point value"));
4082
0
        }
4083
402
        else if (r) {
4084
0
            return *r;
4085
0
        }
4086
4087
402
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4088
0
            return unexpected(r.error());
4089
0
        }
4090
402
        else if (r) {
4091
0
            return *r;
4092
0
        }
4093
4094
402
        if (allowed_hex && !allowed_nonhex) {
4095
            // only hex allowed:
4096
            // prefix "0x" allowed, not required
4097
8
            auto it = range.begin();
4098
4099
8
            if (auto r = read_hex_prefix(range)) {
4100
0
                m_kind = float_kind::hex_with_prefix;
4101
0
                it = *r;
4102
0
            }
4103
8
            else {
4104
8
                m_kind = float_kind::hex_without_prefix;
4105
8
            }
4106
4107
8
            return read_hex(ranges::subrange{it, range.end()});
4108
8
        }
4109
394
        if (!allowed_hex && allowed_nonhex) {
4110
            // only nonhex allowed:
4111
            // no prefix allowed
4112
30
            m_kind = float_kind::generic;
4113
30
            return read_regular_float(range);
4114
30
        }
4115
        // both hex and nonhex allowed:
4116
        // check for "0x" prefix -> hex,
4117
        // regular otherwise
4118
4119
364
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4120
0
            m_kind = float_kind::hex_with_prefix;
4121
0
            return read_hex(ranges::subrange{*r, range.end()});
4122
0
        }
4123
4124
364
        m_kind = float_kind::generic;
4125
364
        return read_regular(range);
4126
364
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E_ZNSC_ISB_EESL_SG_EUlSN_E0_EESL_SG_OT0_OT1_
_ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EERZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E1_SP_EESL_SG_OT0_OT1_
Line
Count
Source
4072
552k
    {
4073
552k
        const bool allowed_hex = (m_options & allow_hex) != 0;
4074
552k
        const bool allowed_nonhex =
4075
552k
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4076
552k
             ~static_cast<unsigned>(allow_hex)) != 0;
4077
4078
552k
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4079
0
            return r.transform_error(map_parse_error_to_scan_error(
4080
0
                scan_error::invalid_scanned_value,
4081
0
                "Invalid infinite floating-point value"));
4082
0
        }
4083
552k
        else if (r) {
4084
6.87k
            return *r;
4085
6.87k
        }
4086
4087
545k
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4088
1.45k
            return unexpected(r.error());
4089
1.45k
        }
4090
544k
        else if (r) {
4091
31.2k
            return *r;
4092
31.2k
        }
4093
4094
512k
        if (allowed_hex && !allowed_nonhex) {
4095
            // only hex allowed:
4096
            // prefix "0x" allowed, not required
4097
106k
            auto it = range.begin();
4098
4099
106k
            if (auto r = read_hex_prefix(range)) {
4100
4.81k
                m_kind = float_kind::hex_with_prefix;
4101
4.81k
                it = *r;
4102
4.81k
            }
4103
102k
            else {
4104
102k
                m_kind = float_kind::hex_without_prefix;
4105
102k
            }
4106
4107
106k
            return read_hex(ranges::subrange{it, range.end()});
4108
106k
        }
4109
405k
        if (!allowed_hex && allowed_nonhex) {
4110
            // only nonhex allowed:
4111
            // no prefix allowed
4112
159k
            m_kind = float_kind::generic;
4113
159k
            return read_regular_float(range);
4114
159k
        }
4115
        // both hex and nonhex allowed:
4116
        // check for "0x" prefix -> hex,
4117
        // regular otherwise
4118
4119
246k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4120
11.9k
            m_kind = float_kind::hex_with_prefix;
4121
11.9k
            return read_hex(ranges::subrange{*r, range.end()});
4122
11.9k
        }
4123
4124
234k
        m_kind = float_kind::generic;
4125
234k
        return read_regular(range);
4126
246k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEZNS3_16read_source_implISJ_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlRKSR_E_ZNSN_ISJ_EESW_SR_EUlSY_E0_EESW_SR_OT0_OT1_
_ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_16read_source_implISE_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlRKSJ_E_ZNSF_ISE_EESO_SJ_EUlSQ_E0_EESO_SJ_OT0_OT1_
Line
Count
Source
4072
498k
    {
4073
498k
        const bool allowed_hex = (m_options & allow_hex) != 0;
4074
498k
        const bool allowed_nonhex =
4075
498k
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4076
498k
             ~static_cast<unsigned>(allow_hex)) != 0;
4077
4078
498k
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4079
0
            return r.transform_error(map_parse_error_to_scan_error(
4080
0
                scan_error::invalid_scanned_value,
4081
0
                "Invalid infinite floating-point value"));
4082
0
        }
4083
498k
        else if (r) {
4084
0
            return *r;
4085
0
        }
4086
4087
498k
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4088
0
            return unexpected(r.error());
4089
0
        }
4090
498k
        else if (r) {
4091
0
            return *r;
4092
0
        }
4093
4094
498k
        if (allowed_hex && !allowed_nonhex) {
4095
            // only hex allowed:
4096
            // prefix "0x" allowed, not required
4097
98.2k
            auto it = range.begin();
4098
4099
98.2k
            if (auto r = read_hex_prefix(range)) {
4100
204
                m_kind = float_kind::hex_with_prefix;
4101
204
                it = *r;
4102
204
            }
4103
98.0k
            else {
4104
98.0k
                m_kind = float_kind::hex_without_prefix;
4105
98.0k
            }
4106
4107
98.2k
            return read_hex(ranges::subrange{it, range.end()});
4108
98.2k
        }
4109
400k
        if (!allowed_hex && allowed_nonhex) {
4110
            // only nonhex allowed:
4111
            // no prefix allowed
4112
176k
            m_kind = float_kind::generic;
4113
176k
            return read_regular_float(range);
4114
176k
        }
4115
        // both hex and nonhex allowed:
4116
        // check for "0x" prefix -> hex,
4117
        // regular otherwise
4118
4119
224k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4120
470
            m_kind = float_kind::hex_with_prefix;
4121
470
            return read_hex(ranges::subrange{*r, range.end()});
4122
470
        }
4123
4124
223k
        m_kind = float_kind::generic;
4125
223k
        return read_regular(range);
4126
224k
    }
_ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEZNS3_16read_source_implISG_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_EUlRKSO_E_ZNSK_ISG_EEST_SO_EUlSV_E0_EEST_SO_OT0_OT1_
Line
Count
Source
4072
246
    {
4073
246
        const bool allowed_hex = (m_options & allow_hex) != 0;
4074
246
        const bool allowed_nonhex =
4075
246
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4076
246
             ~static_cast<unsigned>(allow_hex)) != 0;
4077
4078
246
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4079
0
            return r.transform_error(map_parse_error_to_scan_error(
4080
0
                scan_error::invalid_scanned_value,
4081
0
                "Invalid infinite floating-point value"));
4082
0
        }
4083
246
        else if (r) {
4084
0
            return *r;
4085
0
        }
4086
4087
246
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4088
0
            return unexpected(r.error());
4089
0
        }
4090
246
        else if (r) {
4091
0
            return *r;
4092
0
        }
4093
4094
246
        if (allowed_hex && !allowed_nonhex) {
4095
            // only hex allowed:
4096
            // prefix "0x" allowed, not required
4097
20
            auto it = range.begin();
4098
4099
20
            if (auto r = read_hex_prefix(range)) {
4100
0
                m_kind = float_kind::hex_with_prefix;
4101
0
                it = *r;
4102
0
            }
4103
20
            else {
4104
20
                m_kind = float_kind::hex_without_prefix;
4105
20
            }
4106
4107
20
            return read_hex(ranges::subrange{it, range.end()});
4108
20
        }
4109
226
        if (!allowed_hex && allowed_nonhex) {
4110
            // only nonhex allowed:
4111
            // no prefix allowed
4112
12
            m_kind = float_kind::generic;
4113
12
            return read_regular_float(range);
4114
12
        }
4115
        // both hex and nonhex allowed:
4116
        // check for "0x" prefix -> hex,
4117
        // regular otherwise
4118
4119
214
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4120
0
            m_kind = float_kind::hex_with_prefix;
4121
0
            return read_hex(ranges::subrange{*r, range.end()});
4122
0
        }
4123
4124
214
        m_kind = float_kind::generic;
4125
214
        return read_regular(range);
4126
214
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E_ZNSC_ISB_EESL_SG_EUlSN_E0_EESL_SG_OT0_OT1_
_ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EERZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E1_SP_EESL_SG_OT0_OT1_
Line
Count
Source
4072
499k
    {
4073
499k
        const bool allowed_hex = (m_options & allow_hex) != 0;
4074
499k
        const bool allowed_nonhex =
4075
499k
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4076
499k
             ~static_cast<unsigned>(allow_hex)) != 0;
4077
4078
499k
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4079
0
            return r.transform_error(map_parse_error_to_scan_error(
4080
0
                scan_error::invalid_scanned_value,
4081
0
                "Invalid infinite floating-point value"));
4082
0
        }
4083
499k
        else if (r) {
4084
0
            return *r;
4085
0
        }
4086
4087
499k
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4088
0
            return unexpected(r.error());
4089
0
        }
4090
499k
        else if (r) {
4091
0
            return *r;
4092
0
        }
4093
4094
499k
        if (allowed_hex && !allowed_nonhex) {
4095
            // only hex allowed:
4096
            // prefix "0x" allowed, not required
4097
98.4k
            auto it = range.begin();
4098
4099
98.4k
            if (auto r = read_hex_prefix(range)) {
4100
204
                m_kind = float_kind::hex_with_prefix;
4101
204
                it = *r;
4102
204
            }
4103
98.2k
            else {
4104
98.2k
                m_kind = float_kind::hex_without_prefix;
4105
98.2k
            }
4106
4107
98.4k
            return read_hex(ranges::subrange{it, range.end()});
4108
98.4k
        }
4109
401k
        if (!allowed_hex && allowed_nonhex) {
4110
            // only nonhex allowed:
4111
            // no prefix allowed
4112
176k
            m_kind = float_kind::generic;
4113
176k
            return read_regular_float(range);
4114
176k
        }
4115
        // both hex and nonhex allowed:
4116
        // check for "0x" prefix -> hex,
4117
        // regular otherwise
4118
4119
225k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4120
470
            m_kind = float_kind::hex_with_prefix;
4121
470
            return read_hex(ranges::subrange{*r, range.end()});
4122
470
        }
4123
4124
225k
        m_kind = float_kind::generic;
4125
225k
        return read_regular(range);
4126
225k
    }
4127
4128
    void handle_separators()
4129
1.86M
    {
4130
1.86M
        if (m_locale_options.thousands_sep == 0 &&
4131
1.86M
            m_locale_options.decimal_point == CharT{'.'}) {
4132
1.86M
            return;
4133
1.86M
        }
4134
4135
0
        auto& str = this->m_buffer.make_into_allocated_string();
4136
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4137
0
            for (auto& ch : str) {
4138
0
                if (ch == m_locale_options.decimal_point) {
4139
0
                    ch = CharT{'.'};
4140
0
                }
4141
0
            }
4142
0
        }
4143
4144
0
        if (m_locale_options.thousands_sep == 0) {
4145
0
            return;
4146
0
        }
4147
4148
0
        auto first =
4149
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4150
0
        if (first == str.end()) {
4151
0
            return;
4152
0
        }
4153
4154
0
        m_thsep_indices.push_back(
4155
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4156
4157
0
        for (auto it = first; ++it != str.end();) {
4158
0
            if (*it != m_locale_options.thousands_sep) {
4159
0
                *first++ = std::move(*it);
4160
0
            }
4161
0
            else {
4162
0
                m_thsep_indices.push_back(
4163
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4164
0
            }
4165
0
        }
4166
4167
0
        str.erase(first, str.end());
4168
0
    }
scn::v4::impl::float_reader<char>::handle_separators()
Line
Count
Source
4129
1.05M
    {
4130
1.05M
        if (m_locale_options.thousands_sep == 0 &&
4131
1.05M
            m_locale_options.decimal_point == CharT{'.'}) {
4132
1.05M
            return;
4133
1.05M
        }
4134
4135
0
        auto& str = this->m_buffer.make_into_allocated_string();
4136
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4137
0
            for (auto& ch : str) {
4138
0
                if (ch == m_locale_options.decimal_point) {
4139
0
                    ch = CharT{'.'};
4140
0
                }
4141
0
            }
4142
0
        }
4143
4144
0
        if (m_locale_options.thousands_sep == 0) {
4145
0
            return;
4146
0
        }
4147
4148
0
        auto first =
4149
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4150
0
        if (first == str.end()) {
4151
0
            return;
4152
0
        }
4153
4154
0
        m_thsep_indices.push_back(
4155
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4156
4157
0
        for (auto it = first; ++it != str.end();) {
4158
0
            if (*it != m_locale_options.thousands_sep) {
4159
0
                *first++ = std::move(*it);
4160
0
            }
4161
0
            else {
4162
0
                m_thsep_indices.push_back(
4163
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4164
0
            }
4165
0
        }
4166
4167
0
        str.erase(first, str.end());
4168
0
    }
scn::v4::impl::float_reader<wchar_t>::handle_separators()
Line
Count
Source
4129
811k
    {
4130
811k
        if (m_locale_options.thousands_sep == 0 &&
4131
811k
            m_locale_options.decimal_point == CharT{'.'}) {
4132
811k
            return;
4133
811k
        }
4134
4135
0
        auto& str = this->m_buffer.make_into_allocated_string();
4136
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4137
0
            for (auto& ch : str) {
4138
0
                if (ch == m_locale_options.decimal_point) {
4139
0
                    ch = CharT{'.'};
4140
0
                }
4141
0
            }
4142
0
        }
4143
4144
0
        if (m_locale_options.thousands_sep == 0) {
4145
0
            return;
4146
0
        }
4147
4148
0
        auto first =
4149
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4150
0
        if (first == str.end()) {
4151
0
            return;
4152
0
        }
4153
4154
0
        m_thsep_indices.push_back(
4155
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4156
4157
0
        for (auto it = first; ++it != str.end();) {
4158
0
            if (*it != m_locale_options.thousands_sep) {
4159
0
                *first++ = std::move(*it);
4160
0
            }
4161
0
            else {
4162
0
                m_thsep_indices.push_back(
4163
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4164
0
            }
4165
0
        }
4166
4167
0
        str.erase(first, str.end());
4168
0
    }
4169
4170
    template <typename T>
4171
    T setsign(T value) const
4172
1.75M
    {
4173
1.75M
        if (m_sign == sign_type::minus_sign) {
4174
120k
            return std::copysign(value, static_cast<T>(-1.0));
4175
120k
        }
4176
1.63M
        return std::copysign(value, static_cast<T>(1.0));
4177
1.75M
    }
float scn::v4::impl::float_reader<char>::setsign<float>(float) const
Line
Count
Source
4172
326k
    {
4173
326k
        if (m_sign == sign_type::minus_sign) {
4174
36.6k
            return std::copysign(value, static_cast<T>(-1.0));
4175
36.6k
        }
4176
290k
        return std::copysign(value, static_cast<T>(1.0));
4177
326k
    }
float scn::v4::impl::float_reader<wchar_t>::setsign<float>(float) const
Line
Count
Source
4172
222k
    {
4173
222k
        if (m_sign == sign_type::minus_sign) {
4174
964
            return std::copysign(value, static_cast<T>(-1.0));
4175
964
        }
4176
221k
        return std::copysign(value, static_cast<T>(1.0));
4177
222k
    }
double scn::v4::impl::float_reader<char>::setsign<double>(double) const
Line
Count
Source
4172
342k
    {
4173
342k
        if (m_sign == sign_type::minus_sign) {
4174
39.2k
            return std::copysign(value, static_cast<T>(-1.0));
4175
39.2k
        }
4176
303k
        return std::copysign(value, static_cast<T>(1.0));
4177
342k
    }
double scn::v4::impl::float_reader<wchar_t>::setsign<double>(double) const
Line
Count
Source
4172
252k
    {
4173
252k
        if (m_sign == sign_type::minus_sign) {
4174
1.01k
            return std::copysign(value, static_cast<T>(-1.0));
4175
1.01k
        }
4176
251k
        return std::copysign(value, static_cast<T>(1.0));
4177
252k
    }
long double scn::v4::impl::float_reader<char>::setsign<long double>(long double) const
Line
Count
Source
4172
351k
    {
4173
351k
        if (m_sign == sign_type::minus_sign) {
4174
41.9k
            return std::copysign(value, static_cast<T>(-1.0));
4175
41.9k
        }
4176
309k
        return std::copysign(value, static_cast<T>(1.0));
4177
351k
    }
long double scn::v4::impl::float_reader<wchar_t>::setsign<long double>(long double) const
Line
Count
Source
4172
261k
    {
4173
261k
        if (m_sign == sign_type::minus_sign) {
4174
1.11k
            return std::copysign(value, static_cast<T>(-1.0));
4175
1.11k
        }
4176
260k
        return std::copysign(value, static_cast<T>(1.0));
4177
261k
    }
4178
4179
    template <typename T>
4180
    scan_expected<std::ptrdiff_t> parse_value_impl(T& value);
4181
4182
    localized_number_formatting_options<CharT> m_locale_options{};
4183
    std::string m_thsep_indices{};
4184
    contiguous_range_factory<CharT> m_nan_payload_buffer{};
4185
    std::ptrdiff_t m_integral_part_length{-1};
4186
    sign_type m_sign{sign_type::default_sign};
4187
    float_kind m_kind{float_kind::tbd};
4188
};
4189
4190
#define SCN_DECLARE_FLOAT_READER_TEMPLATE(CharT, FloatT)                \
4191
    extern template auto float_reader<CharT>::parse_value_impl(FloatT&) \
4192
        -> scan_expected<std::ptrdiff_t>;
4193
4194
#if !SCN_DISABLE_TYPE_FLOAT
4195
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, float)
4196
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, float)
4197
#endif
4198
#if !SCN_DISABLE_TYPE_DOUBLE
4199
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, double)
4200
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, double)
4201
#endif
4202
#if !SCN_DISABLE_TYPE_LONG_DOUBLE
4203
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, long double)
4204
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, long double)
4205
#endif
4206
4207
#if SCN_HAS_STD_F16 && !SCN_DISABLE_TYPE_FLOAT16
4208
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float16_t)
4209
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float16_t)
4210
#endif
4211
#if SCN_HAS_STD_F32 && !SCN_DISABLE_TYPE_FLOAT32
4212
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float32_t)
4213
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float32_t)
4214
#endif
4215
#if SCN_HAS_STD_F64 && !SCN_DISABLE_TYPE_FLOAT64
4216
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float64_t)
4217
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float64_t)
4218
#endif
4219
#if SCN_HAS_STD_F128 && !SCN_DISABLE_TYPE_FLOAT128
4220
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float128_t)
4221
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float128_t)
4222
#endif
4223
#if SCN_HAS_STD_BF16 && !SCN_DISABLE_TYPE_BFLOAT16
4224
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::bfloat16_t)
4225
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::bfloat16_t)
4226
#endif
4227
4228
#undef SCN_DECLARE_FLOAT_READER_TEMPLATE
4229
4230
template <typename CharT>
4231
class reader_impl_for_float
4232
    : public reader_base<reader_impl_for_float<CharT>, CharT> {
4233
public:
4234
    constexpr reader_impl_for_float() = default;
4235
4236
    void check_specs_impl(const detail::format_specs& specs,
4237
                          reader_error_handler& eh)
4238
1.57M
    {
4239
1.57M
        detail::check_float_type_specs(specs, eh);
4240
1.57M
    }
scn::v4::impl::reader_impl_for_float<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
4238
834k
    {
4239
834k
        detail::check_float_type_specs(specs, eh);
4240
834k
    }
scn::v4::impl::reader_impl_for_float<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
4238
735k
    {
4239
735k
        detail::check_float_type_specs(specs, eh);
4240
735k
    }
4241
4242
    template <typename Range, typename T>
4243
    auto read_default(Range range, T& value, detail::locale_ref loc)
4244
        -> scan_expected<ranges::const_iterator_t<Range>>
4245
589k
    {
4246
589k
        SCN_UNUSED(loc);
4247
4248
589k
        float_reader<CharT> rd{};
4249
589k
        return read_impl<Range>(
4250
589k
            range, rd,
4251
589k
            [](float_reader<CharT>& r, auto&&... args) {
4252
589k
                return r.read_source(SCN_FWD(args)...);
4253
589k
            },
_ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4251
50.6k
            [](float_reader<CharT>& r, auto&&... args) {
4252
50.6k
                return r.read_source(SCN_FWD(args)...);
4253
50.6k
            },
_ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4251
53.7k
            [](float_reader<CharT>& r, auto&&... args) {
4252
53.7k
                return r.read_source(SCN_FWD(args)...);
4253
53.7k
            },
_ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4251
54.9k
            [](float_reader<CharT>& r, auto&&... args) {
4252
54.9k
                return r.read_source(SCN_FWD(args)...);
4253
54.9k
            },
_ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4251
51.6k
            [](float_reader<CharT>& r, auto&&... args) {
4252
51.6k
                return r.read_source(SCN_FWD(args)...);
4253
51.6k
            },
_ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4251
53.9k
            [](float_reader<CharT>& r, auto&&... args) {
4252
53.9k
                return r.read_source(SCN_FWD(args)...);
4253
53.9k
            },
_ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4251
55.1k
            [](float_reader<CharT>& r, auto&&... args) {
4252
55.1k
                return r.read_source(SCN_FWD(args)...);
4253
55.1k
            },
_ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4251
40.0k
            [](float_reader<CharT>& r, auto&&... args) {
4252
40.0k
                return r.read_source(SCN_FWD(args)...);
4253
40.0k
            },
_ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4251
47.0k
            [](float_reader<CharT>& r, auto&&... args) {
4252
47.0k
                return r.read_source(SCN_FWD(args)...);
4253
47.0k
            },
_ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4251
48.2k
            [](float_reader<CharT>& r, auto&&... args) {
4252
48.2k
                return r.read_source(SCN_FWD(args)...);
4253
48.2k
            },
_ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4251
40.0k
            [](float_reader<CharT>& r, auto&&... args) {
4252
40.0k
                return r.read_source(SCN_FWD(args)...);
4253
40.0k
            },
_ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4251
46.3k
            [](float_reader<CharT>& r, auto&&... args) {
4252
46.3k
                return r.read_source(SCN_FWD(args)...);
4253
46.3k
            },
_ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4251
48.1k
            [](float_reader<CharT>& r, auto&&... args) {
4252
48.1k
                return r.read_source(SCN_FWD(args)...);
4253
48.1k
            },
4254
589k
            value);
4255
589k
    }
_ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4245
50.6k
    {
4246
50.6k
        SCN_UNUSED(loc);
4247
4248
50.6k
        float_reader<CharT> rd{};
4249
50.6k
        return read_impl<Range>(
4250
50.6k
            range, rd,
4251
50.6k
            [](float_reader<CharT>& r, auto&&... args) {
4252
50.6k
                return r.read_source(SCN_FWD(args)...);
4253
50.6k
            },
4254
50.6k
            value);
4255
50.6k
    }
_ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4245
53.7k
    {
4246
53.7k
        SCN_UNUSED(loc);
4247
4248
53.7k
        float_reader<CharT> rd{};
4249
53.7k
        return read_impl<Range>(
4250
53.7k
            range, rd,
4251
53.7k
            [](float_reader<CharT>& r, auto&&... args) {
4252
53.7k
                return r.read_source(SCN_FWD(args)...);
4253
53.7k
            },
4254
53.7k
            value);
4255
53.7k
    }
_ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4245
54.9k
    {
4246
54.9k
        SCN_UNUSED(loc);
4247
4248
54.9k
        float_reader<CharT> rd{};
4249
54.9k
        return read_impl<Range>(
4250
54.9k
            range, rd,
4251
54.9k
            [](float_reader<CharT>& r, auto&&... args) {
4252
54.9k
                return r.read_source(SCN_FWD(args)...);
4253
54.9k
            },
4254
54.9k
            value);
4255
54.9k
    }
_ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4245
51.6k
    {
4246
51.6k
        SCN_UNUSED(loc);
4247
4248
51.6k
        float_reader<CharT> rd{};
4249
51.6k
        return read_impl<Range>(
4250
51.6k
            range, rd,
4251
51.6k
            [](float_reader<CharT>& r, auto&&... args) {
4252
51.6k
                return r.read_source(SCN_FWD(args)...);
4253
51.6k
            },
4254
51.6k
            value);
4255
51.6k
    }
_ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4245
53.9k
    {
4246
53.9k
        SCN_UNUSED(loc);
4247
4248
53.9k
        float_reader<CharT> rd{};
4249
53.9k
        return read_impl<Range>(
4250
53.9k
            range, rd,
4251
53.9k
            [](float_reader<CharT>& r, auto&&... args) {
4252
53.9k
                return r.read_source(SCN_FWD(args)...);
4253
53.9k
            },
4254
53.9k
            value);
4255
53.9k
    }
_ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4245
55.1k
    {
4246
55.1k
        SCN_UNUSED(loc);
4247
4248
55.1k
        float_reader<CharT> rd{};
4249
55.1k
        return read_impl<Range>(
4250
55.1k
            range, rd,
4251
55.1k
            [](float_reader<CharT>& r, auto&&... args) {
4252
55.1k
                return r.read_source(SCN_FWD(args)...);
4253
55.1k
            },
4254
55.1k
            value);
4255
55.1k
    }
_ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4245
40.0k
    {
4246
40.0k
        SCN_UNUSED(loc);
4247
4248
40.0k
        float_reader<CharT> rd{};
4249
40.0k
        return read_impl<Range>(
4250
40.0k
            range, rd,
4251
40.0k
            [](float_reader<CharT>& r, auto&&... args) {
4252
40.0k
                return r.read_source(SCN_FWD(args)...);
4253
40.0k
            },
4254
40.0k
            value);
4255
40.0k
    }
_ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4245
47.0k
    {
4246
47.0k
        SCN_UNUSED(loc);
4247
4248
47.0k
        float_reader<CharT> rd{};
4249
47.0k
        return read_impl<Range>(
4250
47.0k
            range, rd,
4251
47.0k
            [](float_reader<CharT>& r, auto&&... args) {
4252
47.0k
                return r.read_source(SCN_FWD(args)...);
4253
47.0k
            },
4254
47.0k
            value);
4255
47.0k
    }
_ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4245
48.2k
    {
4246
48.2k
        SCN_UNUSED(loc);
4247
4248
48.2k
        float_reader<CharT> rd{};
4249
48.2k
        return read_impl<Range>(
4250
48.2k
            range, rd,
4251
48.2k
            [](float_reader<CharT>& r, auto&&... args) {
4252
48.2k
                return r.read_source(SCN_FWD(args)...);
4253
48.2k
            },
4254
48.2k
            value);
4255
48.2k
    }
_ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4245
40.0k
    {
4246
40.0k
        SCN_UNUSED(loc);
4247
4248
40.0k
        float_reader<CharT> rd{};
4249
40.0k
        return read_impl<Range>(
4250
40.0k
            range, rd,
4251
40.0k
            [](float_reader<CharT>& r, auto&&... args) {
4252
40.0k
                return r.read_source(SCN_FWD(args)...);
4253
40.0k
            },
4254
40.0k
            value);
4255
40.0k
    }
_ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4245
46.3k
    {
4246
46.3k
        SCN_UNUSED(loc);
4247
4248
46.3k
        float_reader<CharT> rd{};
4249
46.3k
        return read_impl<Range>(
4250
46.3k
            range, rd,
4251
46.3k
            [](float_reader<CharT>& r, auto&&... args) {
4252
46.3k
                return r.read_source(SCN_FWD(args)...);
4253
46.3k
            },
4254
46.3k
            value);
4255
46.3k
    }
_ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4245
48.1k
    {
4246
48.1k
        SCN_UNUSED(loc);
4247
4248
48.1k
        float_reader<CharT> rd{};
4249
48.1k
        return read_impl<Range>(
4250
48.1k
            range, rd,
4251
48.1k
            [](float_reader<CharT>& r, auto&&... args) {
4252
48.1k
                return r.read_source(SCN_FWD(args)...);
4253
48.1k
            },
4254
48.1k
            value);
4255
48.1k
    }
4256
4257
    template <typename Range, typename T>
4258
    auto read_specs(Range range,
4259
                    const detail::format_specs& specs,
4260
                    T& value,
4261
                    detail::locale_ref loc)
4262
        -> scan_expected<ranges::const_iterator_t<Range>>
4263
1.54M
    {
4264
1.54M
        float_reader<CharT> rd{get_options(specs)};
4265
4266
1.54M
#if !SCN_DISABLE_LOCALE
4267
1.54M
        if (specs.localized) {
4268
401k
            return read_impl<Range>(
4269
401k
                range, rd,
4270
401k
                [](float_reader<CharT>& r, auto&&... args) {
4271
401k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
401k
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4270
36.8k
                [](float_reader<CharT>& r, auto&&... args) {
4271
36.8k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
36.8k
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4270
33.7k
                [](float_reader<CharT>& r, auto&&... args) {
4271
33.7k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
33.7k
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4270
39.1k
                [](float_reader<CharT>& r, auto&&... args) {
4271
39.1k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
39.1k
                },
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4270
12
                [](float_reader<CharT>& r, auto&&... args) {
4271
12
                    return r.read_source_localized(SCN_FWD(args)...);
4272
12
                },
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4270
35.3k
                [](float_reader<CharT>& r, auto&&... args) {
4271
35.3k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
35.3k
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4270
40.3k
                [](float_reader<CharT>& r, auto&&... args) {
4271
40.3k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
40.3k
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4270
36.6k
                [](float_reader<CharT>& r, auto&&... args) {
4271
36.6k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
36.6k
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4270
26.6k
                [](float_reader<CharT>& r, auto&&... args) {
4271
26.6k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
26.6k
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4270
26.7k
                [](float_reader<CharT>& r, auto&&... args) {
4271
26.7k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
26.7k
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4270
30.9k
                [](float_reader<CharT>& r, auto&&... args) {
4271
30.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
30.9k
                },
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4270
16
                [](float_reader<CharT>& r, auto&&... args) {
4271
16
                    return r.read_source_localized(SCN_FWD(args)...);
4272
16
                },
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4270
30.9k
                [](float_reader<CharT>& r, auto&&... args) {
4271
30.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
30.9k
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4270
32.1k
                [](float_reader<CharT>& r, auto&&... args) {
4271
32.1k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
32.1k
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4270
32.1k
                [](float_reader<CharT>& r, auto&&... args) {
4271
32.1k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
32.1k
                },
4273
401k
                value, loc);
4274
401k
        }
4275
1.14M
#endif
4276
4277
1.14M
        return read_impl<Range>(
4278
1.14M
            range, rd,
4279
1.14M
            [](float_reader<CharT>& r, auto&&... args) {
4280
1.14M
                return r.read_source(SCN_FWD(args)...);
4281
1.14M
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4279
99.8k
            [](float_reader<CharT>& r, auto&&... args) {
4280
99.8k
                return r.read_source(SCN_FWD(args)...);
4281
99.8k
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4279
93.7k
            [](float_reader<CharT>& r, auto&&... args) {
4280
93.7k
                return r.read_source(SCN_FWD(args)...);
4281
93.7k
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4279
103k
            [](float_reader<CharT>& r, auto&&... args) {
4280
103k
                return r.read_source(SCN_FWD(args)...);
4281
103k
            },
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4279
390
            [](float_reader<CharT>& r, auto&&... args) {
4280
390
                return r.read_source(SCN_FWD(args)...);
4281
390
            },
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4279
96.4k
            [](float_reader<CharT>& r, auto&&... args) {
4280
96.4k
                return r.read_source(SCN_FWD(args)...);
4281
96.4k
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4279
105k
            [](float_reader<CharT>& r, auto&&... args) {
4280
105k
                return r.read_source(SCN_FWD(args)...);
4281
105k
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4279
97.3k
            [](float_reader<CharT>& r, auto&&... args) {
4280
97.3k
                return r.read_source(SCN_FWD(args)...);
4281
97.3k
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4279
88.1k
            [](float_reader<CharT>& r, auto&&... args) {
4280
88.1k
                return r.read_source(SCN_FWD(args)...);
4281
88.1k
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4279
88.1k
            [](float_reader<CharT>& r, auto&&... args) {
4280
88.1k
                return r.read_source(SCN_FWD(args)...);
4281
88.1k
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4279
92.4k
            [](float_reader<CharT>& r, auto&&... args) {
4280
92.4k
                return r.read_source(SCN_FWD(args)...);
4281
92.4k
            },
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4279
230
            [](float_reader<CharT>& r, auto&&... args) {
4280
230
                return r.read_source(SCN_FWD(args)...);
4281
230
            },
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4279
92.9k
            [](float_reader<CharT>& r, auto&&... args) {
4280
92.9k
                return r.read_source(SCN_FWD(args)...);
4281
92.9k
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4279
93.7k
            [](float_reader<CharT>& r, auto&&... args) {
4280
93.7k
                return r.read_source(SCN_FWD(args)...);
4281
93.7k
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4279
93.7k
            [](float_reader<CharT>& r, auto&&... args) {
4280
93.7k
                return r.read_source(SCN_FWD(args)...);
4281
93.7k
            },
4282
1.14M
            value);
4283
1.54M
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4263
136k
    {
4264
136k
        float_reader<CharT> rd{get_options(specs)};
4265
4266
136k
#if !SCN_DISABLE_LOCALE
4267
136k
        if (specs.localized) {
4268
36.8k
            return read_impl<Range>(
4269
36.8k
                range, rd,
4270
36.8k
                [](float_reader<CharT>& r, auto&&... args) {
4271
36.8k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
36.8k
                },
4273
36.8k
                value, loc);
4274
36.8k
        }
4275
99.8k
#endif
4276
4277
99.8k
        return read_impl<Range>(
4278
99.8k
            range, rd,
4279
99.8k
            [](float_reader<CharT>& r, auto&&... args) {
4280
99.8k
                return r.read_source(SCN_FWD(args)...);
4281
99.8k
            },
4282
99.8k
            value);
4283
136k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4263
127k
    {
4264
127k
        float_reader<CharT> rd{get_options(specs)};
4265
4266
127k
#if !SCN_DISABLE_LOCALE
4267
127k
        if (specs.localized) {
4268
33.7k
            return read_impl<Range>(
4269
33.7k
                range, rd,
4270
33.7k
                [](float_reader<CharT>& r, auto&&... args) {
4271
33.7k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
33.7k
                },
4273
33.7k
                value, loc);
4274
33.7k
        }
4275
93.7k
#endif
4276
4277
93.7k
        return read_impl<Range>(
4278
93.7k
            range, rd,
4279
93.7k
            [](float_reader<CharT>& r, auto&&... args) {
4280
93.7k
                return r.read_source(SCN_FWD(args)...);
4281
93.7k
            },
4282
93.7k
            value);
4283
127k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4263
142k
    {
4264
142k
        float_reader<CharT> rd{get_options(specs)};
4265
4266
142k
#if !SCN_DISABLE_LOCALE
4267
142k
        if (specs.localized) {
4268
39.1k
            return read_impl<Range>(
4269
39.1k
                range, rd,
4270
39.1k
                [](float_reader<CharT>& r, auto&&... args) {
4271
39.1k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
39.1k
                },
4273
39.1k
                value, loc);
4274
39.1k
        }
4275
103k
#endif
4276
4277
103k
        return read_impl<Range>(
4278
103k
            range, rd,
4279
103k
            [](float_reader<CharT>& r, auto&&... args) {
4280
103k
                return r.read_source(SCN_FWD(args)...);
4281
103k
            },
4282
103k
            value);
4283
142k
    }
_ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
4263
402
    {
4264
402
        float_reader<CharT> rd{get_options(specs)};
4265
4266
402
#if !SCN_DISABLE_LOCALE
4267
402
        if (specs.localized) {
4268
12
            return read_impl<Range>(
4269
12
                range, rd,
4270
12
                [](float_reader<CharT>& r, auto&&... args) {
4271
12
                    return r.read_source_localized(SCN_FWD(args)...);
4272
12
                },
4273
12
                value, loc);
4274
12
        }
4275
390
#endif
4276
4277
390
        return read_impl<Range>(
4278
390
            range, rd,
4279
390
            [](float_reader<CharT>& r, auto&&... args) {
4280
390
                return r.read_source(SCN_FWD(args)...);
4281
390
            },
4282
390
            value);
4283
402
    }
_ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4263
131k
    {
4264
131k
        float_reader<CharT> rd{get_options(specs)};
4265
4266
131k
#if !SCN_DISABLE_LOCALE
4267
131k
        if (specs.localized) {
4268
35.3k
            return read_impl<Range>(
4269
35.3k
                range, rd,
4270
35.3k
                [](float_reader<CharT>& r, auto&&... args) {
4271
35.3k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
35.3k
                },
4273
35.3k
                value, loc);
4274
35.3k
        }
4275
96.4k
#endif
4276
4277
96.4k
        return read_impl<Range>(
4278
96.4k
            range, rd,
4279
96.4k
            [](float_reader<CharT>& r, auto&&... args) {
4280
96.4k
                return r.read_source(SCN_FWD(args)...);
4281
96.4k
            },
4282
96.4k
            value);
4283
131k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4263
145k
    {
4264
145k
        float_reader<CharT> rd{get_options(specs)};
4265
4266
145k
#if !SCN_DISABLE_LOCALE
4267
145k
        if (specs.localized) {
4268
40.3k
            return read_impl<Range>(
4269
40.3k
                range, rd,
4270
40.3k
                [](float_reader<CharT>& r, auto&&... args) {
4271
40.3k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
40.3k
                },
4273
40.3k
                value, loc);
4274
40.3k
        }
4275
105k
#endif
4276
4277
105k
        return read_impl<Range>(
4278
105k
            range, rd,
4279
105k
            [](float_reader<CharT>& r, auto&&... args) {
4280
105k
                return r.read_source(SCN_FWD(args)...);
4281
105k
            },
4282
105k
            value);
4283
145k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4263
133k
    {
4264
133k
        float_reader<CharT> rd{get_options(specs)};
4265
4266
133k
#if !SCN_DISABLE_LOCALE
4267
133k
        if (specs.localized) {
4268
36.6k
            return read_impl<Range>(
4269
36.6k
                range, rd,
4270
36.6k
                [](float_reader<CharT>& r, auto&&... args) {
4271
36.6k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
36.6k
                },
4273
36.6k
                value, loc);
4274
36.6k
        }
4275
97.3k
#endif
4276
4277
97.3k
        return read_impl<Range>(
4278
97.3k
            range, rd,
4279
97.3k
            [](float_reader<CharT>& r, auto&&... args) {
4280
97.3k
                return r.read_source(SCN_FWD(args)...);
4281
97.3k
            },
4282
97.3k
            value);
4283
133k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4263
114k
    {
4264
114k
        float_reader<CharT> rd{get_options(specs)};
4265
4266
114k
#if !SCN_DISABLE_LOCALE
4267
114k
        if (specs.localized) {
4268
26.6k
            return read_impl<Range>(
4269
26.6k
                range, rd,
4270
26.6k
                [](float_reader<CharT>& r, auto&&... args) {
4271
26.6k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
26.6k
                },
4273
26.6k
                value, loc);
4274
26.6k
        }
4275
88.1k
#endif
4276
4277
88.1k
        return read_impl<Range>(
4278
88.1k
            range, rd,
4279
88.1k
            [](float_reader<CharT>& r, auto&&... args) {
4280
88.1k
                return r.read_source(SCN_FWD(args)...);
4281
88.1k
            },
4282
88.1k
            value);
4283
114k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4263
114k
    {
4264
114k
        float_reader<CharT> rd{get_options(specs)};
4265
4266
114k
#if !SCN_DISABLE_LOCALE
4267
114k
        if (specs.localized) {
4268
26.7k
            return read_impl<Range>(
4269
26.7k
                range, rd,
4270
26.7k
                [](float_reader<CharT>& r, auto&&... args) {
4271
26.7k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
26.7k
                },
4273
26.7k
                value, loc);
4274
26.7k
        }
4275
88.1k
#endif
4276
4277
88.1k
        return read_impl<Range>(
4278
88.1k
            range, rd,
4279
88.1k
            [](float_reader<CharT>& r, auto&&... args) {
4280
88.1k
                return r.read_source(SCN_FWD(args)...);
4281
88.1k
            },
4282
88.1k
            value);
4283
114k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4263
123k
    {
4264
123k
        float_reader<CharT> rd{get_options(specs)};
4265
4266
123k
#if !SCN_DISABLE_LOCALE
4267
123k
        if (specs.localized) {
4268
30.9k
            return read_impl<Range>(
4269
30.9k
                range, rd,
4270
30.9k
                [](float_reader<CharT>& r, auto&&... args) {
4271
30.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
30.9k
                },
4273
30.9k
                value, loc);
4274
30.9k
        }
4275
92.4k
#endif
4276
4277
92.4k
        return read_impl<Range>(
4278
92.4k
            range, rd,
4279
92.4k
            [](float_reader<CharT>& r, auto&&... args) {
4280
92.4k
                return r.read_source(SCN_FWD(args)...);
4281
92.4k
            },
4282
92.4k
            value);
4283
123k
    }
_ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
4263
246
    {
4264
246
        float_reader<CharT> rd{get_options(specs)};
4265
4266
246
#if !SCN_DISABLE_LOCALE
4267
246
        if (specs.localized) {
4268
16
            return read_impl<Range>(
4269
16
                range, rd,
4270
16
                [](float_reader<CharT>& r, auto&&... args) {
4271
16
                    return r.read_source_localized(SCN_FWD(args)...);
4272
16
                },
4273
16
                value, loc);
4274
16
        }
4275
230
#endif
4276
4277
230
        return read_impl<Range>(
4278
230
            range, rd,
4279
230
            [](float_reader<CharT>& r, auto&&... args) {
4280
230
                return r.read_source(SCN_FWD(args)...);
4281
230
            },
4282
230
            value);
4283
246
    }
_ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4263
123k
    {
4264
123k
        float_reader<CharT> rd{get_options(specs)};
4265
4266
123k
#if !SCN_DISABLE_LOCALE
4267
123k
        if (specs.localized) {
4268
30.9k
            return read_impl<Range>(
4269
30.9k
                range, rd,
4270
30.9k
                [](float_reader<CharT>& r, auto&&... args) {
4271
30.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
30.9k
                },
4273
30.9k
                value, loc);
4274
30.9k
        }
4275
92.9k
#endif
4276
4277
92.9k
        return read_impl<Range>(
4278
92.9k
            range, rd,
4279
92.9k
            [](float_reader<CharT>& r, auto&&... args) {
4280
92.9k
                return r.read_source(SCN_FWD(args)...);
4281
92.9k
            },
4282
92.9k
            value);
4283
123k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4263
125k
    {
4264
125k
        float_reader<CharT> rd{get_options(specs)};
4265
4266
125k
#if !SCN_DISABLE_LOCALE
4267
125k
        if (specs.localized) {
4268
32.1k
            return read_impl<Range>(
4269
32.1k
                range, rd,
4270
32.1k
                [](float_reader<CharT>& r, auto&&... args) {
4271
32.1k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
32.1k
                },
4273
32.1k
                value, loc);
4274
32.1k
        }
4275
93.7k
#endif
4276
4277
93.7k
        return read_impl<Range>(
4278
93.7k
            range, rd,
4279
93.7k
            [](float_reader<CharT>& r, auto&&... args) {
4280
93.7k
                return r.read_source(SCN_FWD(args)...);
4281
93.7k
            },
4282
93.7k
            value);
4283
125k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4263
125k
    {
4264
125k
        float_reader<CharT> rd{get_options(specs)};
4265
4266
125k
#if !SCN_DISABLE_LOCALE
4267
125k
        if (specs.localized) {
4268
32.1k
            return read_impl<Range>(
4269
32.1k
                range, rd,
4270
32.1k
                [](float_reader<CharT>& r, auto&&... args) {
4271
32.1k
                    return r.read_source_localized(SCN_FWD(args)...);
4272
32.1k
                },
4273
32.1k
                value, loc);
4274
32.1k
        }
4275
93.7k
#endif
4276
4277
93.7k
        return read_impl<Range>(
4278
93.7k
            range, rd,
4279
93.7k
            [](float_reader<CharT>& r, auto&&... args) {
4280
93.7k
                return r.read_source(SCN_FWD(args)...);
4281
93.7k
            },
4282
93.7k
            value);
4283
125k
    }
4284
4285
private:
4286
    template <typename Range>
4287
    using read_source_callback_type =
4288
        scan_expected<ranges::const_iterator_t<Range>>(float_reader<CharT>&,
4289
                                                       Range,
4290
                                                       detail::locale_ref);
4291
4292
    template <typename Range, typename T>
4293
    scan_expected<ranges::const_iterator_t<Range>> read_impl(
4294
        Range range,
4295
        float_reader<CharT>& rd,
4296
        function_ref<read_source_callback_type<Range>> read_source_cb,
4297
        T& value,
4298
        detail::locale_ref loc = {})
4299
2.13M
    {
4300
2.13M
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4301
2.13M
            SCN_UNLIKELY(!r)) {
4302
271k
            return unexpected(r.error());
4303
271k
        }
4304
4305
1.86M
        SCN_TRY(n, rd.parse_value(value));
4306
1.75M
        return ranges::next(range.begin(), n);
4307
1.86M
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4299
188k
    {
4300
188k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4301
188k
            SCN_UNLIKELY(!r)) {
4302
17.3k
            return unexpected(r.error());
4303
17.3k
        }
4304
4305
171k
        SCN_TRY(n, rd.parse_value(value));
4306
168k
        return ranges::next(range.begin(), n);
4307
171k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4299
178k
    {
4300
178k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4301
178k
            SCN_UNLIKELY(!r)) {
4302
9.60k
            return unexpected(r.error());
4303
9.60k
        }
4304
4305
168k
        SCN_TRY(n, rd.parse_value(value));
4306
158k
        return ranges::next(range.begin(), n);
4307
168k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4299
196k
    {
4300
196k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4301
196k
            SCN_UNLIKELY(!r)) {
4302
17.8k
            return unexpected(r.error());
4303
17.8k
        }
4304
4305
178k
        SCN_TRY(n, rd.parse_value(value));
4306
177k
        return ranges::next(range.begin(), n);
4307
178k
    }
_ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4299
402
    {
4300
402
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4301
402
            SCN_UNLIKELY(!r)) {
4302
402
            return unexpected(r.error());
4303
402
        }
4304
4305
0
        SCN_TRY(n, rd.parse_value(value));
4306
0
        return ranges::next(range.begin(), n);
4307
0
    }
_ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4299
185k
    {
4300
185k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4301
185k
            SCN_UNLIKELY(!r)) {
4302
9.78k
            return unexpected(r.error());
4303
9.78k
        }
4304
4305
175k
        SCN_TRY(n, rd.parse_value(value));
4306
164k
        return ranges::next(range.begin(), n);
4307
175k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4299
200k
    {
4300
200k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4301
200k
            SCN_UNLIKELY(!r)) {
4302
18.4k
            return unexpected(r.error());
4303
18.4k
        }
4304
4305
182k
        SCN_TRY(n, rd.parse_value(value));
4306
181k
        return ranges::next(range.begin(), n);
4307
182k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4299
188k
    {
4300
188k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4301
188k
            SCN_UNLIKELY(!r)) {
4302
9.99k
            return unexpected(r.error());
4303
9.99k
        }
4304
4305
178k
        SCN_TRY(n, rd.parse_value(value));
4306
169k
        return ranges::next(range.begin(), n);
4307
178k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4299
154k
    {
4300
154k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4301
154k
            SCN_UNLIKELY(!r)) {
4302
41.8k
            return unexpected(r.error());
4303
41.8k
        }
4304
4305
112k
        SCN_TRY(n, rd.parse_value(value));
4306
111k
        return ranges::next(range.begin(), n);
4307
112k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4299
154k
    {
4300
154k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4301
154k
            SCN_UNLIKELY(!r)) {
4302
19.7k
            return unexpected(r.error());
4303
19.7k
        }
4304
4305
135k
        SCN_TRY(n, rd.parse_value(value));
4306
111k
        return ranges::next(range.begin(), n);
4307
135k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4299
169k
    {
4300
169k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4301
169k
            SCN_UNLIKELY(!r)) {
4302
42.5k
            return unexpected(r.error());
4303
42.5k
        }
4304
4305
127k
        SCN_TRY(n, rd.parse_value(value));
4306
126k
        return ranges::next(range.begin(), n);
4307
127k
    }
_ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4299
246
    {
4300
246
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4301
246
            SCN_UNLIKELY(!r)) {
4302
226
            return unexpected(r.error());
4303
226
        }
4304
4305
20
        SCN_TRY(n, rd.parse_value(value));
4306
20
        return ranges::next(range.begin(), n);
4307
20
    }
_ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4299
170k
    {
4300
170k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4301
170k
            SCN_UNLIKELY(!r)) {
4302
20.0k
            return unexpected(r.error());
4303
20.0k
        }
4304
4305
150k
        SCN_TRY(n, rd.parse_value(value));
4306
126k
        return ranges::next(range.begin(), n);
4307
150k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4299
173k
    {
4300
173k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4301
173k
            SCN_UNLIKELY(!r)) {
4302
43.1k
            return unexpected(r.error());
4303
43.1k
        }
4304
4305
130k
        SCN_TRY(n, rd.parse_value(value));
4306
130k
        return ranges::next(range.begin(), n);
4307
130k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4299
174k
    {
4300
174k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4301
174k
            SCN_UNLIKELY(!r)) {
4302
20.2k
            return unexpected(r.error());
4303
20.2k
        }
4304
4305
153k
        SCN_TRY(n, rd.parse_value(value));
4306
130k
        return ranges::next(range.begin(), n);
4307
153k
    }
4308
4309
    static unsigned get_options(const detail::format_specs& specs)
4310
1.54M
    {
4311
1.54M
        unsigned options{};
4312
1.54M
        if (specs.localized) {
4313
401k
            options |= float_reader_base::allow_thsep;
4314
401k
        }
4315
4316
1.54M
        SCN_GCC_COMPAT_PUSH
4317
1.54M
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4318
4319
1.54M
        switch (specs.type) {
4320
276k
            case detail::presentation_type::float_fixed:
4321
276k
                return options | float_reader_base::allow_fixed;
4322
4323
71.7k
            case detail::presentation_type::float_scientific:
4324
71.7k
                return options | float_reader_base::allow_scientific;
4325
4326
439k
            case detail::presentation_type::float_hex:
4327
439k
                return options | float_reader_base::allow_hex;
4328
4329
357k
            case detail::presentation_type::float_general:
4330
357k
                return options | float_reader_base::allow_scientific |
4331
357k
                       float_reader_base::allow_fixed;
4332
4333
402k
            case detail::presentation_type::none:
4334
402k
                return options | float_reader_base::allow_scientific |
4335
402k
                       float_reader_base::allow_fixed |
4336
402k
                       float_reader_base::allow_hex;
4337
4338
0
            default:
4339
0
                SCN_EXPECT(false);
4340
1.54M
                SCN_UNREACHABLE;
4341
1.54M
        }
4342
4343
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4344
1.54M
    }
scn::v4::impl::reader_impl_for_float<char>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
4310
818k
    {
4311
818k
        unsigned options{};
4312
818k
        if (specs.localized) {
4313
222k
            options |= float_reader_base::allow_thsep;
4314
222k
        }
4315
4316
818k
        SCN_GCC_COMPAT_PUSH
4317
818k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4318
4319
818k
        switch (specs.type) {
4320
134k
            case detail::presentation_type::float_fixed:
4321
134k
                return options | float_reader_base::allow_fixed;
4322
4323
27.8k
            case detail::presentation_type::float_scientific:
4324
27.8k
                return options | float_reader_base::allow_scientific;
4325
4326
242k
            case detail::presentation_type::float_hex:
4327
242k
                return options | float_reader_base::allow_hex;
4328
4329
191k
            case detail::presentation_type::float_general:
4330
191k
                return options | float_reader_base::allow_scientific |
4331
191k
                       float_reader_base::allow_fixed;
4332
4333
222k
            case detail::presentation_type::none:
4334
222k
                return options | float_reader_base::allow_scientific |
4335
222k
                       float_reader_base::allow_fixed |
4336
222k
                       float_reader_base::allow_hex;
4337
4338
0
            default:
4339
0
                SCN_EXPECT(false);
4340
818k
                SCN_UNREACHABLE;
4341
818k
        }
4342
4343
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4344
818k
    }
scn::v4::impl::reader_impl_for_float<wchar_t>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
4310
728k
    {
4311
728k
        unsigned options{};
4312
728k
        if (specs.localized) {
4313
179k
            options |= float_reader_base::allow_thsep;
4314
179k
        }
4315
4316
728k
        SCN_GCC_COMPAT_PUSH
4317
728k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4318
4319
728k
        switch (specs.type) {
4320
142k
            case detail::presentation_type::float_fixed:
4321
142k
                return options | float_reader_base::allow_fixed;
4322
4323
43.9k
            case detail::presentation_type::float_scientific:
4324
43.9k
                return options | float_reader_base::allow_scientific;
4325
4326
196k
            case detail::presentation_type::float_hex:
4327
196k
                return options | float_reader_base::allow_hex;
4328
4329
165k
            case detail::presentation_type::float_general:
4330
165k
                return options | float_reader_base::allow_scientific |
4331
165k
                       float_reader_base::allow_fixed;
4332
4333
180k
            case detail::presentation_type::none:
4334
180k
                return options | float_reader_base::allow_scientific |
4335
180k
                       float_reader_base::allow_fixed |
4336
180k
                       float_reader_base::allow_hex;
4337
4338
0
            default:
4339
0
                SCN_EXPECT(false);
4340
728k
                SCN_UNREACHABLE;
4341
728k
        }
4342
4343
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4344
728k
    }
4345
};
4346
4347
/////////////////////////////////////////////////////////////////
4348
// Regex reader
4349
/////////////////////////////////////////////////////////////////
4350
4351
// Forward declaration for C++17 compatibility with regex disabled
4352
template <typename CharT, typename Input>
4353
auto read_regex_matches_impl(std::basic_string_view<CharT> pattern,
4354
                             detail::regex_flags flags,
4355
                             Input input,
4356
                             basic_regex_matches<CharT>& value)
4357
    -> scan_expected<ranges::iterator_t<Input>>;
4358
4359
#if !SCN_DISABLE_REGEX
4360
4361
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4362
constexpr auto make_regex_flags(detail::regex_flags flags)
4363
    -> scan_expected<std::regex_constants::syntax_option_type>
4364
{
4365
    std::regex_constants::syntax_option_type result{};
4366
    if ((flags & detail::regex_flags::multiline) != detail::regex_flags::none) {
4367
#if SCN_HAS_STD_REGEX_MULTILINE
4368
        result |= std::regex_constants::multiline;
4369
#else
4370
        return detail::unexpected_scan_error(
4371
            scan_error::invalid_format_string,
4372
            "/m flag for regex isn't supported by regex backend");
4373
#endif
4374
    }
4375
    if ((flags & detail::regex_flags::singleline) !=
4376
        detail::regex_flags::none) {
4377
        return detail::unexpected_scan_error(
4378
            scan_error::invalid_format_string,
4379
            "/s flag for regex isn't supported by regex backend");
4380
    }
4381
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4382
        result |= std::regex_constants::icase;
4383
    }
4384
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4385
        result |= std::regex_constants::nosubs;
4386
    }
4387
    return result;
4388
}
4389
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4390
constexpr auto make_regex_flags(detail::regex_flags flags)
4391
    -> boost::regex_constants::syntax_option_type
4392
{
4393
    boost::regex_constants::syntax_option_type result{};
4394
    if ((flags & detail::regex_flags::multiline) == detail::regex_flags::none) {
4395
        result |= boost::regex_constants::no_mod_m;
4396
    }
4397
    if ((flags & detail::regex_flags::singleline) !=
4398
        detail::regex_flags::none) {
4399
        result |= boost::regex_constants::mod_s;
4400
    }
4401
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4402
        result |= boost::regex_constants::icase;
4403
    }
4404
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4405
        result |= boost::regex_constants::nosubs;
4406
    }
4407
    return result;
4408
}
4409
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4410
inline auto make_regex_flags(detail::regex_flags flags)
4411
    -> std::pair<RE2::Options, std::string_view>
4412
486
{
4413
486
    RE2::Options opt{RE2::Quiet};
4414
486
    std::string_view stringflags{};
4415
4416
486
    if ((flags & detail::regex_flags::multiline) == detail::regex_flags::none) {
4417
474
        stringflags = "(?m)";
4418
474
    }
4419
486
    if ((flags & detail::regex_flags::singleline) !=
4420
486
        detail::regex_flags::none) {
4421
6
        opt.set_dot_nl(true);
4422
6
    }
4423
486
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4424
6
        opt.set_case_sensitive(false);
4425
6
    }
4426
486
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4427
6
        opt.set_never_capture(true);
4428
6
    }
4429
4430
486
    return {opt, stringflags};
4431
486
}
4432
#endif  // SCN_REGEX_BACKEND == ...
4433
4434
template <typename CharT, typename Input>
4435
auto read_regex_string_impl(std::basic_string_view<CharT> pattern,
4436
                            detail::regex_flags flags,
4437
                            Input input)
4438
    -> scan_expected<ranges::iterator_t<Input>>
4439
486
{
4440
486
    static_assert(ranges::contiguous_range<Input> &&
4441
486
                  ranges::borrowed_range<Input> &&
4442
486
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4443
4444
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4445
    std::basic_regex<CharT> re{};
4446
    try {
4447
        SCN_TRY(re_flags, make_regex_flags(flags));
4448
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4449
                                     re_flags | std::regex_constants::nosubs};
4450
    }
4451
    catch (const std::regex_error& err) {
4452
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4453
                                             "Invalid regex");
4454
    }
4455
4456
    std::match_results<const CharT*> matches{};
4457
    try {
4458
        bool found = std::regex_search(input.data(),
4459
                                       input.data() + input.size(), matches, re,
4460
                                       std::regex_constants::match_continuous);
4461
        if (!found || matches.prefix().matched) {
4462
            return detail::unexpected_scan_error(
4463
                scan_error::invalid_scanned_value,
4464
                "Regular expression didn't match");
4465
        }
4466
    }
4467
    catch (const std::regex_error& err) {
4468
        return detail::unexpected_scan_error(
4469
            scan_error::invalid_format_string,
4470
            "Regex matching failed with an error");
4471
    }
4472
4473
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4474
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4475
    auto re =
4476
#if SCN_REGEX_BOOST_USE_ICU
4477
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4478
                             make_regex_flags(flags) |
4479
                                 boost::regex_constants::no_except |
4480
                                 boost::regex_constants::nosubs);
4481
#else
4482
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4483
                                  make_regex_flags(flags) |
4484
                                      boost::regex_constants::no_except |
4485
                                      boost::regex_constants::nosubs};
4486
#endif
4487
    if (re.status() != 0) {
4488
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4489
                                             "Invalid regex");
4490
    }
4491
4492
    boost::match_results<const CharT*> matches{};
4493
    try {
4494
        bool found =
4495
#if SCN_REGEX_BOOST_USE_ICU
4496
            boost::u32regex_search(input.data(), input.data() + input.size(),
4497
                                   matches, re,
4498
                                   boost::regex_constants::match_continuous);
4499
#else
4500
            boost::regex_search(input.data(), input.data() + input.size(),
4501
                                matches, re,
4502
                                boost::regex_constants::match_continuous);
4503
#endif
4504
        if (!found || matches.prefix().matched) {
4505
            return detail::unexpected_scan_error(
4506
                scan_error::invalid_scanned_value,
4507
                "Regular expression didn't match");
4508
        }
4509
    }
4510
    catch (const std::runtime_error& err) {
4511
        return detail::unexpected_scan_error(
4512
            scan_error::invalid_format_string,
4513
            "Regex matching failed with an error");
4514
    }
4515
4516
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4517
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4518
    static_assert(std::is_same_v<CharT, char>);
4519
486
    std::string flagged_pattern{};
4520
486
    auto re = [&]() {
4521
486
        auto [opts, flagstr] = make_regex_flags(flags);
4522
486
        opts.set_never_capture(true);
4523
486
        if (flagstr.empty()) {
4524
12
            return re2::RE2{pattern, opts};
4525
12
        }
4526
474
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4527
474
        flagged_pattern.append(flagstr);
4528
474
        flagged_pattern.append(pattern);
4529
474
        return re2::RE2{flagged_pattern, opts};
4530
486
    }();
Unexecuted instantiation: _ZZN3scn2v44impl22read_regex_string_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_ENKUlvE_clEv
_ZZN3scn2v44impl22read_regex_string_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_ENKUlvE_clEv
Line
Count
Source
4520
486
    auto re = [&]() {
4521
486
        auto [opts, flagstr] = make_regex_flags(flags);
4522
486
        opts.set_never_capture(true);
4523
486
        if (flagstr.empty()) {
4524
12
            return re2::RE2{pattern, opts};
4525
12
        }
4526
474
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4527
474
        flagged_pattern.append(flagstr);
4528
474
        flagged_pattern.append(pattern);
4529
474
        return re2::RE2{flagged_pattern, opts};
4530
486
    }();
4531
486
    if (!re.ok()) {
4532
216
        return detail::unexpected_scan_error(
4533
216
            scan_error::invalid_format_string,
4534
216
            "Failed to parse regular expression");
4535
216
    }
4536
4537
270
    auto new_input = detail::make_string_view_from_pointers(
4538
270
        detail::to_address(input.begin()), detail::to_address(input.end()));
4539
270
    bool found = re2::RE2::Consume(&new_input, re);
4540
270
    if (!found) {
4541
180
        return detail::unexpected_scan_error(scan_error::invalid_scanned_value,
4542
180
                                             "Regular expression didn't match");
4543
180
    }
4544
90
    return input.begin() + ranges::distance(input.data(), new_input.data());
4545
270
#endif  // SCN_REGEX_BACKEND == ...
4546
270
}
Unexecuted instantiation: _ZN3scn2v44impl22read_regex_string_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_
_ZN3scn2v44impl22read_regex_string_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_
Line
Count
Source
4439
486
{
4440
486
    static_assert(ranges::contiguous_range<Input> &&
4441
486
                  ranges::borrowed_range<Input> &&
4442
486
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4443
4444
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4445
    std::basic_regex<CharT> re{};
4446
    try {
4447
        SCN_TRY(re_flags, make_regex_flags(flags));
4448
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4449
                                     re_flags | std::regex_constants::nosubs};
4450
    }
4451
    catch (const std::regex_error& err) {
4452
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4453
                                             "Invalid regex");
4454
    }
4455
4456
    std::match_results<const CharT*> matches{};
4457
    try {
4458
        bool found = std::regex_search(input.data(),
4459
                                       input.data() + input.size(), matches, re,
4460
                                       std::regex_constants::match_continuous);
4461
        if (!found || matches.prefix().matched) {
4462
            return detail::unexpected_scan_error(
4463
                scan_error::invalid_scanned_value,
4464
                "Regular expression didn't match");
4465
        }
4466
    }
4467
    catch (const std::regex_error& err) {
4468
        return detail::unexpected_scan_error(
4469
            scan_error::invalid_format_string,
4470
            "Regex matching failed with an error");
4471
    }
4472
4473
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4474
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4475
    auto re =
4476
#if SCN_REGEX_BOOST_USE_ICU
4477
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4478
                             make_regex_flags(flags) |
4479
                                 boost::regex_constants::no_except |
4480
                                 boost::regex_constants::nosubs);
4481
#else
4482
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4483
                                  make_regex_flags(flags) |
4484
                                      boost::regex_constants::no_except |
4485
                                      boost::regex_constants::nosubs};
4486
#endif
4487
    if (re.status() != 0) {
4488
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4489
                                             "Invalid regex");
4490
    }
4491
4492
    boost::match_results<const CharT*> matches{};
4493
    try {
4494
        bool found =
4495
#if SCN_REGEX_BOOST_USE_ICU
4496
            boost::u32regex_search(input.data(), input.data() + input.size(),
4497
                                   matches, re,
4498
                                   boost::regex_constants::match_continuous);
4499
#else
4500
            boost::regex_search(input.data(), input.data() + input.size(),
4501
                                matches, re,
4502
                                boost::regex_constants::match_continuous);
4503
#endif
4504
        if (!found || matches.prefix().matched) {
4505
            return detail::unexpected_scan_error(
4506
                scan_error::invalid_scanned_value,
4507
                "Regular expression didn't match");
4508
        }
4509
    }
4510
    catch (const std::runtime_error& err) {
4511
        return detail::unexpected_scan_error(
4512
            scan_error::invalid_format_string,
4513
            "Regex matching failed with an error");
4514
    }
4515
4516
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4517
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4518
    static_assert(std::is_same_v<CharT, char>);
4519
486
    std::string flagged_pattern{};
4520
486
    auto re = [&]() {
4521
486
        auto [opts, flagstr] = make_regex_flags(flags);
4522
486
        opts.set_never_capture(true);
4523
486
        if (flagstr.empty()) {
4524
486
            return re2::RE2{pattern, opts};
4525
486
        }
4526
486
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4527
486
        flagged_pattern.append(flagstr);
4528
486
        flagged_pattern.append(pattern);
4529
486
        return re2::RE2{flagged_pattern, opts};
4530
486
    }();
4531
486
    if (!re.ok()) {
4532
216
        return detail::unexpected_scan_error(
4533
216
            scan_error::invalid_format_string,
4534
216
            "Failed to parse regular expression");
4535
216
    }
4536
4537
270
    auto new_input = detail::make_string_view_from_pointers(
4538
270
        detail::to_address(input.begin()), detail::to_address(input.end()));
4539
270
    bool found = re2::RE2::Consume(&new_input, re);
4540
270
    if (!found) {
4541
180
        return detail::unexpected_scan_error(scan_error::invalid_scanned_value,
4542
180
                                             "Regular expression didn't match");
4543
180
    }
4544
90
    return input.begin() + ranges::distance(input.data(), new_input.data());
4545
270
#endif  // SCN_REGEX_BACKEND == ...
4546
270
}
4547
4548
template <typename CharT, typename Input>
4549
auto read_regex_matches_impl(std::basic_string_view<CharT> pattern,
4550
                             detail::regex_flags flags,
4551
                             Input input,
4552
                             basic_regex_matches<CharT>& value)
4553
    -> scan_expected<ranges::iterator_t<Input>>
4554
0
{
4555
0
    static_assert(ranges::contiguous_range<Input> &&
4556
0
                  ranges::borrowed_range<Input> &&
4557
0
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4558
4559
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4560
    std::basic_regex<CharT> re{};
4561
    try {
4562
        SCN_TRY(re_flags, make_regex_flags(flags));
4563
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(), re_flags};
4564
    }
4565
    catch (const std::regex_error& err) {
4566
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4567
                                             "Invalid regex");
4568
    }
4569
4570
    std::match_results<const CharT*> matches{};
4571
    try {
4572
        bool found = std::regex_search(input.data(),
4573
                                       input.data() + input.size(), matches, re,
4574
                                       std::regex_constants::match_continuous);
4575
        if (!found || matches.prefix().matched) {
4576
            return detail::unexpected_scan_error(
4577
                scan_error::invalid_scanned_value,
4578
                "Regular expression didn't match");
4579
        }
4580
    }
4581
    catch (const std::regex_error& err) {
4582
        return detail::unexpected_scan_error(
4583
            scan_error::invalid_format_string,
4584
            "Regex matching failed with an error");
4585
    }
4586
4587
    value.resize(matches.size());
4588
    std::transform(matches.begin(), matches.end(), value.begin(),
4589
                   [](auto&& match) -> std::optional<basic_regex_match<CharT>> {
4590
                       if (!match.matched)
4591
                           return std::nullopt;
4592
                       return detail::make_string_view_from_pointers(
4593
                           match.first, match.second);
4594
                   });
4595
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4596
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4597
    std::vector<std::basic_string<CharT>> names;
4598
    for (size_t i = 0; i < pattern.size();) {
4599
        if constexpr (std::is_same_v<CharT, char>) {
4600
            i = pattern.find("(?<", i);
4601
        }
4602
        else {
4603
            i = pattern.find(L"(?<", i);
4604
        }
4605
4606
        if (i == std::basic_string_view<CharT>::npos) {
4607
            break;
4608
        }
4609
        if (i > 0 && pattern[i - 1] == CharT{'\\'}) {
4610
            if (i == 1 || pattern[i - 2] != CharT{'\\'}) {
4611
                i += 3;
4612
                continue;
4613
            }
4614
        }
4615
4616
        i += 3;
4617
        auto end_i = pattern.find(CharT{'>'}, i);
4618
        if (end_i == std::basic_string_view<CharT>::npos) {
4619
            break;
4620
        }
4621
        names.emplace_back(pattern.substr(i, end_i - i));
4622
    }
4623
4624
    auto re =
4625
#if SCN_REGEX_BOOST_USE_ICU
4626
        boost::make_u32regex(
4627
            pattern.data(), pattern.data() + pattern.size(),
4628
            make_regex_flags(flags) | boost::regex_constants::no_except);
4629
#else
4630
        boost::basic_regex<CharT>{
4631
            pattern.data(), pattern.size(),
4632
            make_regex_flags(flags) | boost::regex_constants::no_except};
4633
#endif
4634
    if (re.status() != 0) {
4635
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4636
                                             "Invalid regex");
4637
    }
4638
4639
    boost::match_results<const CharT*> matches{};
4640
    try {
4641
        bool found =
4642
#if SCN_REGEX_BOOST_USE_ICU
4643
            boost::u32regex_search(input.data(), input.data() + input.size(),
4644
                                   matches, re,
4645
                                   boost::regex_constants::match_continuous);
4646
#else
4647
            boost::regex_search(input.data(), input.data() + input.size(),
4648
                                matches, re,
4649
                                boost::regex_constants::match_continuous);
4650
#endif
4651
        if (!found || matches.prefix().matched) {
4652
            return detail::unexpected_scan_error(
4653
                scan_error::invalid_scanned_value,
4654
                "Regular expression didn't match");
4655
        }
4656
    }
4657
    catch (const std::runtime_error& err) {
4658
        return detail::unexpected_scan_error(
4659
            scan_error::invalid_format_string,
4660
            "Regex matching failed with an error");
4661
    }
4662
4663
    value.resize(matches.size());
4664
    std::transform(
4665
        matches.begin(), matches.end(), value.begin(),
4666
        [&](auto&& match) -> std::optional<basic_regex_match<CharT>> {
4667
            if (!match.matched)
4668
                return std::nullopt;
4669
            auto sv = detail::make_string_view_from_pointers(match.first,
4670
                                                             match.second);
4671
4672
            if (auto name_it = std::find_if(
4673
                    names.begin(), names.end(),
4674
                    [&](const auto& name) { return match == matches[name]; });
4675
                name_it != names.end()) {
4676
                return basic_regex_match<CharT>{sv, *name_it};
4677
            }
4678
            return sv;
4679
        });
4680
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4681
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4682
    static_assert(std::is_same_v<CharT, char>);
4683
0
    std::string flagged_pattern{};
4684
0
    auto re = [&]() {
4685
0
        auto [opts, flagstr] = make_regex_flags(flags);
4686
0
        if (flagstr.empty()) {
4687
0
            return re2::RE2{pattern, opts};
4688
0
        }
4689
0
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4690
0
        flagged_pattern.append(flagstr);
4691
0
        flagged_pattern.append(pattern);
4692
0
        return re2::RE2{flagged_pattern, opts};
4693
0
    }();
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlvE_clEv
4694
0
    if (!re.ok()) {
4695
0
        return detail::unexpected_scan_error(
4696
0
            scan_error::invalid_format_string,
4697
0
            "Failed to parse regular expression");
4698
0
    }
4699
    // TODO: Optimize into a single batch allocation
4700
0
    const auto max_matches_n =
4701
0
        static_cast<size_t>(re.NumberOfCapturingGroups());
4702
0
    std::vector<std::optional<std::string_view>> matches(max_matches_n);
4703
0
    std::vector<re2::RE2::Arg> match_args(max_matches_n);
4704
0
    std::vector<re2::RE2::Arg*> match_argptrs(max_matches_n);
4705
0
    std::transform(matches.begin(), matches.end(), match_args.begin(),
4706
0
                   [](auto& val) { return re2::RE2::Arg{&val}; });
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlRSE_E_clINS3_8optionalIS7_EEEEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlRSH_E_clINSF_8optionalINSG_IcNSI_IcEEEEEEEEDaSQ_
4707
0
    std::transform(match_args.begin(), match_args.end(), match_argptrs.begin(),
4708
0
                   [](auto& arg) { return &arg; });
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlRSE_E0_clIN3re23RE23ArgEEEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlRSH_E0_clIN3re23RE23ArgEEEDaSQ_
4709
0
    auto new_input = detail::make_string_view_from_pointers(
4710
0
        detail::to_address(input.begin()), detail::to_address(input.end()));
4711
0
    bool found = re2::RE2::ConsumeN(&new_input, re, match_argptrs.data(),
4712
0
                                    match_argptrs.size());
4713
0
    if (!found) {
4714
0
        return detail::unexpected_scan_error(scan_error::invalid_scanned_value,
4715
0
                                             "Regular expression didn't match");
4716
0
    }
4717
0
    value.resize(matches.size() + 1);
4718
0
    value[0] =
4719
0
        detail::make_string_view_from_pointers(input.data(), new_input.data());
4720
0
    std::transform(matches.begin(), matches.end(), value.begin() + 1,
4721
0
                   [&](auto&& match) -> std::optional<regex_match> {
4722
0
                       if (!match)
4723
0
                           return std::nullopt;
4724
0
                       return *match;
4725
0
                   });
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlOSE_E_clIRNS3_8optionalIS7_EEEENSP_INS0_17basic_regex_matchIcEEEESM_
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlOSH_E_clIRNSF_8optionalINSG_IcNSI_IcEEEEEEEENST_INS0_17basic_regex_matchIcEEEESQ_
4726
0
    {
4727
0
        const auto& capturing_groups = re.CapturingGroupNames();
4728
0
        for (size_t i = 1; i < value.size(); ++i) {
4729
0
            if (auto it = capturing_groups.find(static_cast<int>(i));
4730
0
                it != capturing_groups.end()) {
4731
0
                auto val = value[i]->get();
4732
0
                value[i].emplace(val, it->second);
4733
0
            };
4734
0
        }
4735
0
    }
4736
0
    return input.begin() + ranges::distance(input.data(), new_input.data());
4737
0
#endif  // SCN_REGEX_BACKEND == ...
4738
0
}
Unexecuted instantiation: _ZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EE
Unexecuted instantiation: _ZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EE
4739
4740
inline std::string get_unescaped_regex_pattern(std::string_view pattern)
4741
1.24k
{
4742
1.24k
    std::string result{pattern};
4743
10.3k
    for (size_t n = 0; (n = result.find("\\/", n)) != std::string::npos;) {
4744
9.11k
        result.replace(n, 2, "/");
4745
9.11k
        ++n;
4746
9.11k
    }
4747
1.24k
    return result;
4748
1.24k
}
4749
inline std::wstring get_unescaped_regex_pattern(std::wstring_view pattern)
4750
0
{
4751
0
    std::wstring result{pattern};
4752
0
    for (size_t n = 0; (n = result.find(L"\\/", n)) != std::wstring::npos;) {
4753
0
        result.replace(n, 2, L"/");
4754
0
        ++n;
4755
0
    }
4756
0
    return result;
4757
0
}
4758
4759
template <typename SourceCharT>
4760
struct regex_matches_reader
4761
    : public reader_base<regex_matches_reader<SourceCharT>, SourceCharT> {
4762
    void check_specs_impl(const detail::format_specs& specs,
4763
                          reader_error_handler& eh)
4764
0
    {
4765
0
        detail::check_regex_type_specs(specs, eh);
4766
0
        SCN_EXPECT(specs.charset_string_data != nullptr);
4767
0
        SCN_EXPECT(specs.charset_string_size > 0);
4768
0
    }
Unexecuted instantiation: scn::v4::impl::regex_matches_reader<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Unexecuted instantiation: scn::v4::impl::regex_matches_reader<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
4769
4770
    template <typename Range, typename DestCharT>
4771
    auto read_default(Range,
4772
                      basic_regex_matches<DestCharT>&,
4773
                      detail::locale_ref = {})
4774
        -> scan_expected<ranges::const_iterator_t<Range>>
4775
    {
4776
        return detail::unexpected_scan_error(
4777
            scan_error::invalid_format_string,
4778
            "No regex given in format string for scanning regex_matches");
4779
    }
4780
4781
    template <typename Range, typename DestCharT>
4782
    auto read_specs(Range range,
4783
                    const detail::format_specs& specs,
4784
                    basic_regex_matches<DestCharT>& value,
4785
                    detail::locale_ref = {})
4786
        -> scan_expected<ranges::const_iterator_t<Range>>
4787
0
    {
4788
0
        if constexpr (!std::is_same_v<SourceCharT, DestCharT>) {
4789
0
            return detail::unexpected_scan_error(
4790
0
                scan_error::invalid_format_string,
4791
0
                "Cannot transcode is regex_matches_reader");
4792
        }
4793
        else if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4794
0
                           !std::is_same_v<SourceCharT, char>) {
4795
0
            return detail::unexpected_scan_error(
4796
0
                scan_error::invalid_format_string,
4797
0
                "Regex backend doesn't support wide strings as input");
4798
        }
4799
0
        else {
4800
0
            if (!is_entire_source_contiguous(range)) {
4801
0
                return detail::unexpected_scan_error(
4802
0
                    scan_error::invalid_format_string,
4803
0
                    "Cannot use regex with a non-contiguous source "
4804
0
                    "range");
4805
0
            }
4806
4807
0
            auto input = get_as_contiguous(range);
4808
0
            SCN_TRY(it,
4809
0
                    impl(input,
4810
0
                         specs.type == detail::presentation_type::regex_escaped,
4811
0
                         specs.charset_string<SourceCharT>(),
4812
0
                         specs.regexp_flags, value));
4813
0
            return ranges::next(range.begin(),
4814
0
                                ranges::distance(input.begin(), it));
4815
0
        }
4816
0
    }
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
4817
4818
private:
4819
    template <typename Range, typename DestCharT>
4820
    auto impl(Range input,
4821
              bool is_escaped,
4822
              std::basic_string_view<SourceCharT> pattern,
4823
              detail::regex_flags flags,
4824
              basic_regex_matches<DestCharT>& value)
4825
0
    {
4826
        if constexpr (detail::is_type_disabled<
4827
                          basic_regex_matches<DestCharT>>) {
4828
            SCN_EXPECT(false);
4829
            SCN_UNREACHABLE;
4830
        }
4831
0
        else {
4832
0
            if (is_escaped) {
4833
0
                return read_regex_matches_impl<SourceCharT>(
4834
0
                    get_unescaped_regex_pattern(pattern), flags, input, value);
4835
0
            }
4836
0
            return read_regex_matches_impl(pattern, flags, input, value);
4837
0
        }
4838
0
    }
Unexecuted instantiation: auto scn::v4::impl::regex_matches_reader<char>::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::detail::regex_flags, scn::v4::basic_regex_matches<char>&)
Unexecuted instantiation: auto scn::v4::impl::regex_matches_reader<char>::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::detail::regex_flags, scn::v4::basic_regex_matches<char>&)
4839
};
4840
4841
template <typename CharT>
4842
struct reader_impl_for_regex_matches : public regex_matches_reader<CharT> {};
4843
4844
#endif  // !SCN_DISABLE_REGEX
4845
4846
/////////////////////////////////////////////////////////////////
4847
// String reader
4848
/////////////////////////////////////////////////////////////////
4849
4850
template <typename Range, typename Iterator, typename ValueCharT>
4851
auto read_string_impl(Range range,
4852
                      Iterator&& result,
4853
                      std::basic_string<ValueCharT>& value)
4854
    -> scan_expected<ranges::const_iterator_t<Range>>
4855
1.57M
{
4856
1.57M
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4857
4858
1.57M
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4859
1.57M
    if (!validate_unicode(src.view())) {
4860
19.9k
        return detail::unexpected_scan_error(
4861
19.9k
            scan_error::invalid_scanned_value,
4862
19.9k
            "Invalid encoding in scanned string");
4863
19.9k
    }
4864
4865
1.55M
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4866
1.55M
    return SCN_MOVE(result);
4867
1.55M
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Line
Count
Source
4855
116k
{
4856
116k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4857
4858
116k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4859
116k
    if (!validate_unicode(src.view())) {
4860
2.14k
        return detail::unexpected_scan_error(
4861
2.14k
            scan_error::invalid_scanned_value,
4862
2.14k
            "Invalid encoding in scanned string");
4863
2.14k
    }
4864
4865
114k
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4866
114k
    return SCN_MOVE(result);
4867
114k
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
Line
Count
Source
4855
654
{
4856
654
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4857
4858
654
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4859
654
    if (!validate_unicode(src.view())) {
4860
0
        return detail::unexpected_scan_error(
4861
0
            scan_error::invalid_scanned_value,
4862
0
            "Invalid encoding in scanned string");
4863
0
    }
4864
4865
654
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4866
654
    return SCN_MOVE(result);
4867
654
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4855
544
{
4856
544
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4857
4858
544
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4859
544
    if (!validate_unicode(src.view())) {
4860
232
        return detail::unexpected_scan_error(
4861
232
            scan_error::invalid_scanned_value,
4862
232
            "Invalid encoding in scanned string");
4863
232
    }
4864
4865
312
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4866
312
    return SCN_MOVE(result);
4867
312
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4855
294
{
4856
294
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4857
4858
294
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4859
294
    if (!validate_unicode(src.view())) {
4860
106
        return detail::unexpected_scan_error(
4861
106
            scan_error::invalid_scanned_value,
4862
106
            "Invalid encoding in scanned string");
4863
106
    }
4864
4865
188
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4866
188
    return SCN_MOVE(result);
4867
188
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4855
92.3k
{
4856
92.3k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4857
4858
92.3k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4859
92.3k
    if (!validate_unicode(src.view())) {
4860
3.01k
        return detail::unexpected_scan_error(
4861
3.01k
            scan_error::invalid_scanned_value,
4862
3.01k
            "Invalid encoding in scanned string");
4863
3.01k
    }
4864
4865
89.2k
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4866
89.2k
    return SCN_MOVE(result);
4867
89.2k
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4855
1.65k
{
4856
1.65k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4857
4858
1.65k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4859
1.65k
    if (!validate_unicode(src.view())) {
4860
56
        return detail::unexpected_scan_error(
4861
56
            scan_error::invalid_scanned_value,
4862
56
            "Invalid encoding in scanned string");
4863
56
    }
4864
4865
1.59k
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4866
1.59k
    return SCN_MOVE(result);
4867
1.59k
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4855
544
{
4856
544
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4857
4858
544
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4859
544
    if (!validate_unicode(src.view())) {
4860
232
        return detail::unexpected_scan_error(
4861
232
            scan_error::invalid_scanned_value,
4862
232
            "Invalid encoding in scanned string");
4863
232
    }
4864
4865
312
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4866
312
    return SCN_MOVE(result);
4867
312
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4855
294
{
4856
294
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4857
4858
294
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4859
294
    if (!validate_unicode(src.view())) {
4860
106
        return detail::unexpected_scan_error(
4861
106
            scan_error::invalid_scanned_value,
4862
106
            "Invalid encoding in scanned string");
4863
106
    }
4864
4865
188
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4866
188
    return SCN_MOVE(result);
4867
188
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4855
1.04k
{
4856
1.04k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4857
4858
1.04k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4859
1.04k
    if (!validate_unicode(src.view())) {
4860
330
        return detail::unexpected_scan_error(
4861
330
            scan_error::invalid_scanned_value,
4862
330
            "Invalid encoding in scanned string");
4863
330
    }
4864
4865
710
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4866
710
    return SCN_MOVE(result);
4867
710
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4855
1.00k
{
4856
1.00k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4857
4858
1.00k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4859
1.00k
    if (!validate_unicode(src.view())) {
4860
56
        return detail::unexpected_scan_error(
4861
56
            scan_error::invalid_scanned_value,
4862
56
            "Invalid encoding in scanned string");
4863
56
    }
4864
4865
944
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4866
944
    return SCN_MOVE(result);
4867
944
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4855
278
{
4856
278
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4857
4858
278
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4859
278
    if (!validate_unicode(src.view())) {
4860
144
        return detail::unexpected_scan_error(
4861
144
            scan_error::invalid_scanned_value,
4862
144
            "Invalid encoding in scanned string");
4863
144
    }
4864
4865
134
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4866
134
    return SCN_MOVE(result);
4867
134
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4855
180
{
4856
180
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4857
4858
180
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4859
180
    if (!validate_unicode(src.view())) {
4860
4
        return detail::unexpected_scan_error(
4861
4
            scan_error::invalid_scanned_value,
4862
4
            "Invalid encoding in scanned string");
4863
4
    }
4864
4865
176
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4866
176
    return SCN_MOVE(result);
4867
176
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4855
1.03k
{
4856
1.03k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4857
4858
1.03k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4859
1.03k
    if (!validate_unicode(src.view())) {
4860
286
        return detail::unexpected_scan_error(
4861
286
            scan_error::invalid_scanned_value,
4862
286
            "Invalid encoding in scanned string");
4863
286
    }
4864
4865
752
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4866
752
    return SCN_MOVE(result);
4867
752
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4855
230
{
4856
230
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4857
4858
230
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4859
230
    if (!validate_unicode(src.view())) {
4860
6
        return detail::unexpected_scan_error(
4861
6
            scan_error::invalid_scanned_value,
4862
6
            "Invalid encoding in scanned string");
4863
6
    }
4864
4865
224
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4866
224
    return SCN_MOVE(result);
4867
224
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Line
Count
Source
4855
679k
{
4856
679k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4857
4858
679k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4859
679k
    if (!validate_unicode(src.view())) {
4860
6.38k
        return detail::unexpected_scan_error(
4861
6.38k
            scan_error::invalid_scanned_value,
4862
6.38k
            "Invalid encoding in scanned string");
4863
6.38k
    }
4864
4865
673k
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4866
673k
    return SCN_MOVE(result);
4867
673k
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
Line
Count
Source
4855
116
{
4856
116
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4857
4858
116
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4859
116
    if (!validate_unicode(src.view())) {
4860
0
        return detail::unexpected_scan_error(
4861
0
            scan_error::invalid_scanned_value,
4862
0
            "Invalid encoding in scanned string");
4863
0
    }
4864
4865
116
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4866
116
    return SCN_MOVE(result);
4867
116
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4855
278
{
4856
278
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4857
4858
278
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4859
278
    if (!validate_unicode(src.view())) {
4860
144
        return detail::unexpected_scan_error(
4861
144
            scan_error::invalid_scanned_value,
4862
144
            "Invalid encoding in scanned string");
4863
144
    }
4864
4865
134
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4866
134
    return SCN_MOVE(result);
4867
134
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4855
180
{
4856
180
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4857
4858
180
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4859
180
    if (!validate_unicode(src.view())) {
4860
4
        return detail::unexpected_scan_error(
4861
4
            scan_error::invalid_scanned_value,
4862
4
            "Invalid encoding in scanned string");
4863
4
    }
4864
4865
176
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4866
176
    return SCN_MOVE(result);
4867
176
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4855
680k
{
4856
680k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4857
4858
680k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4859
680k
    if (!validate_unicode(src.view())) {
4860
6.67k
        return detail::unexpected_scan_error(
4861
6.67k
            scan_error::invalid_scanned_value,
4862
6.67k
            "Invalid encoding in scanned string");
4863
6.67k
    }
4864
4865
674k
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4866
674k
    return SCN_MOVE(result);
4867
674k
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4855
346
{
4856
346
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4857
4858
346
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4859
346
    if (!validate_unicode(src.view())) {
4860
6
        return detail::unexpected_scan_error(
4861
6
            scan_error::invalid_scanned_value,
4862
6
            "Invalid encoding in scanned string");
4863
6
    }
4864
4865
340
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4866
340
    return SCN_MOVE(result);
4867
340
}
4868
4869
template <typename Range, typename Iterator, typename ValueCharT>
4870
auto read_string_view_impl(Range range,
4871
                           Iterator&& result,
4872
                           std::basic_string_view<ValueCharT>& value)
4873
    -> scan_expected<ranges::const_iterator_t<Range>>
4874
776k
{
4875
776k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4876
4877
776k
    auto src = [&]() {
4878
776k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4879
1.29k
            return make_contiguous_buffer(
4880
1.29k
                ranges::subrange{range.begin().base(), result.base()});
4881
        }
4882
775k
        else {
4883
775k
            return make_contiguous_buffer(
4884
775k
                ranges::subrange{range.begin(), result});
4885
775k
        }
4886
776k
    }();
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Line
Count
Source
4877
544
    auto src = [&]() {
4878
544
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4879
544
            return make_contiguous_buffer(
4880
544
                ranges::subrange{range.begin().base(), result.base()});
4881
        }
4882
        else {
4883
            return make_contiguous_buffer(
4884
                ranges::subrange{range.begin(), result});
4885
        }
4886
544
    }();
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Line
Count
Source
4877
294
    auto src = [&]() {
4878
294
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4879
294
            return make_contiguous_buffer(
4880
294
                ranges::subrange{range.begin().base(), result.base()});
4881
        }
4882
        else {
4883
            return make_contiguous_buffer(
4884
                ranges::subrange{range.begin(), result});
4885
        }
4886
294
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Line
Count
Source
4877
92.3k
    auto src = [&]() {
4878
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4879
            return make_contiguous_buffer(
4880
                ranges::subrange{range.begin().base(), result.base()});
4881
        }
4882
92.3k
        else {
4883
92.3k
            return make_contiguous_buffer(
4884
92.3k
                ranges::subrange{range.begin(), result});
4885
92.3k
        }
4886
92.3k
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Line
Count
Source
4877
1.65k
    auto src = [&]() {
4878
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4879
            return make_contiguous_buffer(
4880
                ranges::subrange{range.begin().base(), result.base()});
4881
        }
4882
1.65k
        else {
4883
1.65k
            return make_contiguous_buffer(
4884
1.65k
                ranges::subrange{range.begin(), result});
4885
1.65k
        }
4886
1.65k
    }();
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Line
Count
Source
4877
278
    auto src = [&]() {
4878
278
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4879
278
            return make_contiguous_buffer(
4880
278
                ranges::subrange{range.begin().base(), result.base()});
4881
        }
4882
        else {
4883
            return make_contiguous_buffer(
4884
                ranges::subrange{range.begin(), result});
4885
        }
4886
278
    }();
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Line
Count
Source
4877
180
    auto src = [&]() {
4878
180
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4879
180
            return make_contiguous_buffer(
4880
180
                ranges::subrange{range.begin().base(), result.base()});
4881
        }
4882
        else {
4883
            return make_contiguous_buffer(
4884
                ranges::subrange{range.begin(), result});
4885
        }
4886
180
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Line
Count
Source
4877
680k
    auto src = [&]() {
4878
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4879
            return make_contiguous_buffer(
4880
                ranges::subrange{range.begin().base(), result.base()});
4881
        }
4882
680k
        else {
4883
680k
            return make_contiguous_buffer(
4884
680k
                ranges::subrange{range.begin(), result});
4885
680k
        }
4886
680k
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Line
Count
Source
4877
346
    auto src = [&]() {
4878
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4879
            return make_contiguous_buffer(
4880
                ranges::subrange{range.begin().base(), result.base()});
4881
        }
4882
346
        else {
4883
346
            return make_contiguous_buffer(
4884
346
                ranges::subrange{range.begin(), result});
4885
346
        }
4886
346
    }();
4887
776k
    using src_type = decltype(src);
4888
4889
776k
    if (src.stores_allocated_string()) {
4890
0
        return detail::unexpected_scan_error(
4891
0
            scan_error::invalid_format_string,
4892
0
            "Cannot read a string_view from this source range (not "
4893
0
            "contiguous)");
4894
0
    }
4895
776k
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4896
0
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4897
0
                                             "Cannot read a string_view from "
4898
0
                                             "this source range (would require "
4899
0
                                             "transcoding)");
4900
    }
4901
776k
    else {
4902
776k
        const auto view = src.view();
4903
776k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4904
4905
776k
        if (!validate_unicode(value)) {
4906
10.2k
            return detail::unexpected_scan_error(
4907
10.2k
                scan_error::invalid_scanned_value,
4908
10.2k
                "Invalid encoding in scanned string_view");
4909
10.2k
        }
4910
4911
766k
        return SCN_MOVE(result);
4912
776k
    }
4913
776k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Line
Count
Source
4874
544
{
4875
544
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4876
4877
544
    auto src = [&]() {
4878
544
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4879
544
            return make_contiguous_buffer(
4880
544
                ranges::subrange{range.begin().base(), result.base()});
4881
544
        }
4882
544
        else {
4883
544
            return make_contiguous_buffer(
4884
544
                ranges::subrange{range.begin(), result});
4885
544
        }
4886
544
    }();
4887
544
    using src_type = decltype(src);
4888
4889
544
    if (src.stores_allocated_string()) {
4890
0
        return detail::unexpected_scan_error(
4891
0
            scan_error::invalid_format_string,
4892
0
            "Cannot read a string_view from this source range (not "
4893
0
            "contiguous)");
4894
0
    }
4895
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4896
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4897
                                             "Cannot read a string_view from "
4898
                                             "this source range (would require "
4899
                                             "transcoding)");
4900
    }
4901
544
    else {
4902
544
        const auto view = src.view();
4903
544
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4904
4905
544
        if (!validate_unicode(value)) {
4906
232
            return detail::unexpected_scan_error(
4907
232
                scan_error::invalid_scanned_value,
4908
232
                "Invalid encoding in scanned string_view");
4909
232
        }
4910
4911
312
        return SCN_MOVE(result);
4912
544
    }
4913
544
}
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Line
Count
Source
4874
294
{
4875
294
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4876
4877
294
    auto src = [&]() {
4878
294
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4879
294
            return make_contiguous_buffer(
4880
294
                ranges::subrange{range.begin().base(), result.base()});
4881
294
        }
4882
294
        else {
4883
294
            return make_contiguous_buffer(
4884
294
                ranges::subrange{range.begin(), result});
4885
294
        }
4886
294
    }();
4887
294
    using src_type = decltype(src);
4888
4889
294
    if (src.stores_allocated_string()) {
4890
0
        return detail::unexpected_scan_error(
4891
0
            scan_error::invalid_format_string,
4892
0
            "Cannot read a string_view from this source range (not "
4893
0
            "contiguous)");
4894
0
    }
4895
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4896
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4897
                                             "Cannot read a string_view from "
4898
                                             "this source range (would require "
4899
                                             "transcoding)");
4900
    }
4901
294
    else {
4902
294
        const auto view = src.view();
4903
294
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4904
4905
294
        if (!validate_unicode(value)) {
4906
106
            return detail::unexpected_scan_error(
4907
106
                scan_error::invalid_scanned_value,
4908
106
                "Invalid encoding in scanned string_view");
4909
106
        }
4910
4911
188
        return SCN_MOVE(result);
4912
294
    }
4913
294
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Line
Count
Source
4874
92.3k
{
4875
92.3k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4876
4877
92.3k
    auto src = [&]() {
4878
92.3k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4879
92.3k
            return make_contiguous_buffer(
4880
92.3k
                ranges::subrange{range.begin().base(), result.base()});
4881
92.3k
        }
4882
92.3k
        else {
4883
92.3k
            return make_contiguous_buffer(
4884
92.3k
                ranges::subrange{range.begin(), result});
4885
92.3k
        }
4886
92.3k
    }();
4887
92.3k
    using src_type = decltype(src);
4888
4889
92.3k
    if (src.stores_allocated_string()) {
4890
0
        return detail::unexpected_scan_error(
4891
0
            scan_error::invalid_format_string,
4892
0
            "Cannot read a string_view from this source range (not "
4893
0
            "contiguous)");
4894
0
    }
4895
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4896
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4897
                                             "Cannot read a string_view from "
4898
                                             "this source range (would require "
4899
                                             "transcoding)");
4900
    }
4901
92.3k
    else {
4902
92.3k
        const auto view = src.view();
4903
92.3k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4904
4905
92.3k
        if (!validate_unicode(value)) {
4906
3.01k
            return detail::unexpected_scan_error(
4907
3.01k
                scan_error::invalid_scanned_value,
4908
3.01k
                "Invalid encoding in scanned string_view");
4909
3.01k
        }
4910
4911
89.2k
        return SCN_MOVE(result);
4912
92.3k
    }
4913
92.3k
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Line
Count
Source
4874
1.65k
{
4875
1.65k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4876
4877
1.65k
    auto src = [&]() {
4878
1.65k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4879
1.65k
            return make_contiguous_buffer(
4880
1.65k
                ranges::subrange{range.begin().base(), result.base()});
4881
1.65k
        }
4882
1.65k
        else {
4883
1.65k
            return make_contiguous_buffer(
4884
1.65k
                ranges::subrange{range.begin(), result});
4885
1.65k
        }
4886
1.65k
    }();
4887
1.65k
    using src_type = decltype(src);
4888
4889
1.65k
    if (src.stores_allocated_string()) {
4890
0
        return detail::unexpected_scan_error(
4891
0
            scan_error::invalid_format_string,
4892
0
            "Cannot read a string_view from this source range (not "
4893
0
            "contiguous)");
4894
0
    }
4895
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4896
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4897
                                             "Cannot read a string_view from "
4898
                                             "this source range (would require "
4899
                                             "transcoding)");
4900
    }
4901
1.65k
    else {
4902
1.65k
        const auto view = src.view();
4903
1.65k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4904
4905
1.65k
        if (!validate_unicode(value)) {
4906
56
            return detail::unexpected_scan_error(
4907
56
                scan_error::invalid_scanned_value,
4908
56
                "Invalid encoding in scanned string_view");
4909
56
        }
4910
4911
1.59k
        return SCN_MOVE(result);
4912
1.65k
    }
4913
1.65k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Line
Count
Source
4874
278
{
4875
278
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4876
4877
278
    auto src = [&]() {
4878
278
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4879
278
            return make_contiguous_buffer(
4880
278
                ranges::subrange{range.begin().base(), result.base()});
4881
278
        }
4882
278
        else {
4883
278
            return make_contiguous_buffer(
4884
278
                ranges::subrange{range.begin(), result});
4885
278
        }
4886
278
    }();
4887
278
    using src_type = decltype(src);
4888
4889
278
    if (src.stores_allocated_string()) {
4890
0
        return detail::unexpected_scan_error(
4891
0
            scan_error::invalid_format_string,
4892
0
            "Cannot read a string_view from this source range (not "
4893
0
            "contiguous)");
4894
0
    }
4895
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4896
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4897
                                             "Cannot read a string_view from "
4898
                                             "this source range (would require "
4899
                                             "transcoding)");
4900
    }
4901
278
    else {
4902
278
        const auto view = src.view();
4903
278
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4904
4905
278
        if (!validate_unicode(value)) {
4906
144
            return detail::unexpected_scan_error(
4907
144
                scan_error::invalid_scanned_value,
4908
144
                "Invalid encoding in scanned string_view");
4909
144
        }
4910
4911
134
        return SCN_MOVE(result);
4912
278
    }
4913
278
}
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Line
Count
Source
4874
180
{
4875
180
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4876
4877
180
    auto src = [&]() {
4878
180
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4879
180
            return make_contiguous_buffer(
4880
180
                ranges::subrange{range.begin().base(), result.base()});
4881
180
        }
4882
180
        else {
4883
180
            return make_contiguous_buffer(
4884
180
                ranges::subrange{range.begin(), result});
4885
180
        }
4886
180
    }();
4887
180
    using src_type = decltype(src);
4888
4889
180
    if (src.stores_allocated_string()) {
4890
0
        return detail::unexpected_scan_error(
4891
0
            scan_error::invalid_format_string,
4892
0
            "Cannot read a string_view from this source range (not "
4893
0
            "contiguous)");
4894
0
    }
4895
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4896
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4897
                                             "Cannot read a string_view from "
4898
                                             "this source range (would require "
4899
                                             "transcoding)");
4900
    }
4901
180
    else {
4902
180
        const auto view = src.view();
4903
180
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4904
4905
180
        if (!validate_unicode(value)) {
4906
4
            return detail::unexpected_scan_error(
4907
4
                scan_error::invalid_scanned_value,
4908
4
                "Invalid encoding in scanned string_view");
4909
4
        }
4910
4911
176
        return SCN_MOVE(result);
4912
180
    }
4913
180
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Line
Count
Source
4874
680k
{
4875
680k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4876
4877
680k
    auto src = [&]() {
4878
680k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4879
680k
            return make_contiguous_buffer(
4880
680k
                ranges::subrange{range.begin().base(), result.base()});
4881
680k
        }
4882
680k
        else {
4883
680k
            return make_contiguous_buffer(
4884
680k
                ranges::subrange{range.begin(), result});
4885
680k
        }
4886
680k
    }();
4887
680k
    using src_type = decltype(src);
4888
4889
680k
    if (src.stores_allocated_string()) {
4890
0
        return detail::unexpected_scan_error(
4891
0
            scan_error::invalid_format_string,
4892
0
            "Cannot read a string_view from this source range (not "
4893
0
            "contiguous)");
4894
0
    }
4895
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4896
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4897
                                             "Cannot read a string_view from "
4898
                                             "this source range (would require "
4899
                                             "transcoding)");
4900
    }
4901
680k
    else {
4902
680k
        const auto view = src.view();
4903
680k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4904
4905
680k
        if (!validate_unicode(value)) {
4906
6.67k
            return detail::unexpected_scan_error(
4907
6.67k
                scan_error::invalid_scanned_value,
4908
6.67k
                "Invalid encoding in scanned string_view");
4909
6.67k
        }
4910
4911
674k
        return SCN_MOVE(result);
4912
680k
    }
4913
680k
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Line
Count
Source
4874
346
{
4875
346
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4876
4877
346
    auto src = [&]() {
4878
346
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4879
346
            return make_contiguous_buffer(
4880
346
                ranges::subrange{range.begin().base(), result.base()});
4881
346
        }
4882
346
        else {
4883
346
            return make_contiguous_buffer(
4884
346
                ranges::subrange{range.begin(), result});
4885
346
        }
4886
346
    }();
4887
346
    using src_type = decltype(src);
4888
4889
346
    if (src.stores_allocated_string()) {
4890
0
        return detail::unexpected_scan_error(
4891
0
            scan_error::invalid_format_string,
4892
0
            "Cannot read a string_view from this source range (not "
4893
0
            "contiguous)");
4894
0
    }
4895
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4896
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4897
                                             "Cannot read a string_view from "
4898
                                             "this source range (would require "
4899
                                             "transcoding)");
4900
    }
4901
346
    else {
4902
346
        const auto view = src.view();
4903
346
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4904
4905
346
        if (!validate_unicode(value)) {
4906
6
            return detail::unexpected_scan_error(
4907
6
                scan_error::invalid_scanned_value,
4908
6
                "Invalid encoding in scanned string_view");
4909
6
        }
4910
4911
340
        return SCN_MOVE(result);
4912
346
    }
4913
346
}
4914
4915
template <typename SourceCharT>
4916
class word_reader_impl {
4917
public:
4918
    template <typename Range, typename ValueCharT>
4919
    auto read(Range range, std::basic_string<ValueCharT>& value)
4920
        -> scan_expected<ranges::const_iterator_t<Range>>
4921
1.57M
    {
4922
1.57M
        return read_string_impl(range, read_until_classic_space(range), value);
4923
1.57M
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
_ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
Line
Count
Source
4921
116k
    {
4922
116k
        return read_string_impl(range, read_until_classic_space(range), value);
4923
116k
    }
_ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4921
360
    {
4922
360
        return read_string_impl(range, read_until_classic_space(range), value);
4923
360
    }
_ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4921
92.2k
    {
4922
92.2k
        return read_string_impl(range, read_until_classic_space(range), value);
4923
92.2k
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4921
360
    {
4922
360
        return read_string_impl(range, read_until_classic_space(range), value);
4923
360
    }
_ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4921
978
    {
4922
978
        return read_string_impl(range, read_until_classic_space(range), value);
4923
978
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4921
208
    {
4922
208
        return read_string_impl(range, read_until_classic_space(range), value);
4923
208
    }
_ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4921
1.00k
    {
4922
1.00k
        return read_string_impl(range, read_until_classic_space(range), value);
4923
1.00k
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
_ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
Line
Count
Source
4921
679k
    {
4922
679k
        return read_string_impl(range, read_until_classic_space(range), value);
4923
679k
    }
_ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4921
208
    {
4922
208
        return read_string_impl(range, read_until_classic_space(range), value);
4923
208
    }
_ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4921
680k
    {
4922
680k
        return read_string_impl(range, read_until_classic_space(range), value);
4923
680k
    }
4924
4925
    template <typename Range, typename ValueCharT>
4926
    auto read(Range range, std::basic_string_view<ValueCharT>& value)
4927
        -> scan_expected<ranges::const_iterator_t<Range>>
4928
773k
    {
4929
773k
        return read_string_view_impl(range, read_until_classic_space(range),
4930
773k
                                     value);
4931
773k
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4928
360
    {
4929
360
        return read_string_view_impl(range, read_until_classic_space(range),
4930
360
                                     value);
4931
360
    }
_ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Line
Count
Source
4928
92.2k
    {
4929
92.2k
        return read_string_view_impl(range, read_until_classic_space(range),
4930
92.2k
                                     value);
4931
92.2k
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4928
208
    {
4929
208
        return read_string_view_impl(range, read_until_classic_space(range),
4930
208
                                     value);
4931
208
    }
_ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Line
Count
Source
4928
680k
    {
4929
680k
        return read_string_view_impl(range, read_until_classic_space(range),
4930
680k
                                     value);
4931
680k
    }
4932
};
4933
4934
template <typename SourceCharT>
4935
class custom_word_reader_impl {
4936
public:
4937
    template <typename Range, typename ValueCharT>
4938
    auto read(Range range,
4939
              const detail::format_specs& specs,
4940
              std::basic_string<ValueCharT>& value)
4941
        -> scan_expected<ranges::const_iterator_t<Range>>
4942
540
    {
4943
540
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4944
368
            return read_string_impl(
4945
368
                range,
4946
368
                read_until_code_unit(
4947
368
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4948
368
                value);
4949
368
        }
4950
172
        return read_string_impl(
4951
172
            range,
4952
172
            read_until_code_units(
4953
172
                range, specs.fill.template get_code_units<SourceCharT>()),
4954
172
            value);
4955
540
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4942
126
    {
4943
126
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4944
72
            return read_string_impl(
4945
72
                range,
4946
72
                read_until_code_unit(
4947
72
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4948
72
                value);
4949
72
        }
4950
54
        return read_string_impl(
4951
54
            range,
4952
54
            read_until_code_units(
4953
54
                range, specs.fill.template get_code_units<SourceCharT>()),
4954
54
            value);
4955
126
    }
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4942
62
    {
4943
62
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4944
30
            return read_string_impl(
4945
30
                range,
4946
30
                read_until_code_unit(
4947
30
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4948
30
                value);
4949
30
        }
4950
32
        return read_string_impl(
4951
32
            range,
4952
32
            read_until_code_units(
4953
32
                range, specs.fill.template get_code_units<SourceCharT>()),
4954
32
            value);
4955
62
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4942
126
    {
4943
126
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4944
72
            return read_string_impl(
4945
72
                range,
4946
72
                read_until_code_unit(
4947
72
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4948
72
                value);
4949
72
        }
4950
54
        return read_string_impl(
4951
54
            range,
4952
54
            read_until_code_units(
4953
54
                range, specs.fill.template get_code_units<SourceCharT>()),
4954
54
            value);
4955
126
    }
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4942
62
    {
4943
62
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4944
30
            return read_string_impl(
4945
30
                range,
4946
30
                read_until_code_unit(
4947
30
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4948
30
                value);
4949
30
        }
4950
32
        return read_string_impl(
4951
32
            range,
4952
32
            read_until_code_units(
4953
32
                range, specs.fill.template get_code_units<SourceCharT>()),
4954
32
            value);
4955
62
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4942
44
    {
4943
44
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4944
44
            return read_string_impl(
4945
44
                range,
4946
44
                read_until_code_unit(
4947
44
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4948
44
                value);
4949
44
        }
4950
0
        return read_string_impl(
4951
0
            range,
4952
0
            read_until_code_units(
4953
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4954
0
            value);
4955
44
    }
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4942
38
    {
4943
38
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4944
38
            return read_string_impl(
4945
38
                range,
4946
38
                read_until_code_unit(
4947
38
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4948
38
                value);
4949
38
        }
4950
0
        return read_string_impl(
4951
0
            range,
4952
0
            read_until_code_units(
4953
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4954
0
            value);
4955
38
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4942
44
    {
4943
44
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4944
44
            return read_string_impl(
4945
44
                range,
4946
44
                read_until_code_unit(
4947
44
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4948
44
                value);
4949
44
        }
4950
0
        return read_string_impl(
4951
0
            range,
4952
0
            read_until_code_units(
4953
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4954
0
            value);
4955
44
    }
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4942
38
    {
4943
38
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4944
38
            return read_string_impl(
4945
38
                range,
4946
38
                read_until_code_unit(
4947
38
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4948
38
                value);
4949
38
        }
4950
0
        return read_string_impl(
4951
0
            range,
4952
0
            read_until_code_units(
4953
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4954
0
            value);
4955
38
    }
4956
4957
    template <typename Range, typename ValueCharT>
4958
    auto read(Range range,
4959
              const detail::format_specs& specs,
4960
              std::basic_string_view<ValueCharT>& value)
4961
        -> scan_expected<ranges::const_iterator_t<Range>>
4962
270
    {
4963
270
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4964
184
            return read_string_view_impl(
4965
184
                range,
4966
184
                read_until_code_unit(
4967
184
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4968
184
                value);
4969
184
        }
4970
86
        return read_string_view_impl(
4971
86
            range,
4972
86
            read_until_code_units(
4973
86
                range, specs.fill.template get_code_units<SourceCharT>()),
4974
86
            value);
4975
270
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
4962
126
    {
4963
126
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4964
72
            return read_string_view_impl(
4965
72
                range,
4966
72
                read_until_code_unit(
4967
72
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4968
72
                value);
4969
72
        }
4970
54
        return read_string_view_impl(
4971
54
            range,
4972
54
            read_until_code_units(
4973
54
                range, specs.fill.template get_code_units<SourceCharT>()),
4974
54
            value);
4975
126
    }
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
4962
62
    {
4963
62
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4964
30
            return read_string_view_impl(
4965
30
                range,
4966
30
                read_until_code_unit(
4967
30
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4968
30
                value);
4969
30
        }
4970
32
        return read_string_view_impl(
4971
32
            range,
4972
32
            read_until_code_units(
4973
32
                range, specs.fill.template get_code_units<SourceCharT>()),
4974
32
            value);
4975
62
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
4962
44
    {
4963
44
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4964
44
            return read_string_view_impl(
4965
44
                range,
4966
44
                read_until_code_unit(
4967
44
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4968
44
                value);
4969
44
        }
4970
0
        return read_string_view_impl(
4971
0
            range,
4972
0
            read_until_code_units(
4973
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4974
0
            value);
4975
44
    }
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
4962
38
    {
4963
38
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4964
38
            return read_string_view_impl(
4965
38
                range,
4966
38
                read_until_code_unit(
4967
38
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4968
38
                value);
4969
38
        }
4970
0
        return read_string_view_impl(
4971
0
            range,
4972
0
            read_until_code_units(
4973
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4974
0
            value);
4975
38
    }
4976
};
4977
4978
#if !SCN_DISABLE_REGEX
4979
template <typename SourceCharT>
4980
class regex_string_reader_impl {
4981
public:
4982
    template <typename Range, typename ValueCharT>
4983
    auto read(Range range,
4984
              std::basic_string_view<SourceCharT> pattern,
4985
              detail::regex_flags flags,
4986
              std::basic_string<ValueCharT>& value)
4987
        -> scan_expected<ranges::const_iterator_t<Range>>
4988
896
    {
4989
896
        SCN_TRY(it, impl(range, pattern, flags));
4990
60
        return read_string_impl(range, it, value);
4991
896
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
4988
286
    {
4989
286
        SCN_TRY(it, impl(range, pattern, flags));
4990
0
        return read_string_impl(range, it, value);
4991
286
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
4988
162
    {
4989
162
        SCN_TRY(it, impl(range, pattern, flags));
4990
30
        return read_string_impl(range, it, value);
4991
162
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
4988
286
    {
4989
286
        SCN_TRY(it, impl(range, pattern, flags));
4990
0
        return read_string_impl(range, it, value);
4991
286
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
4988
162
    {
4989
162
        SCN_TRY(it, impl(range, pattern, flags));
4990
30
        return read_string_impl(range, it, value);
4991
162
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
4992
4993
    template <typename Range, typename ValueCharT>
4994
    auto read(Range range,
4995
              std::basic_string_view<SourceCharT> pattern,
4996
              detail::regex_flags flags,
4997
              std::basic_string_view<ValueCharT>& value)
4998
        -> scan_expected<ranges::const_iterator_t<Range>>
4999
448
    {
5000
448
        SCN_TRY(it, impl(range, pattern, flags));
5001
30
        return read_string_view_impl(range, it, value);
5002
448
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Line
Count
Source
4999
286
    {
5000
286
        SCN_TRY(it, impl(range, pattern, flags));
5001
0
        return read_string_view_impl(range, it, value);
5002
286
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Line
Count
Source
4999
162
    {
5000
162
        SCN_TRY(it, impl(range, pattern, flags));
5001
30
        return read_string_view_impl(range, it, value);
5002
162
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
5003
5004
private:
5005
    template <typename Range>
5006
    auto impl(Range range,
5007
              std::basic_string_view<SourceCharT> pattern,
5008
              detail::regex_flags flags)
5009
        -> scan_expected<ranges::const_iterator_t<Range>>
5010
1.34k
    {
5011
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
5012
0
                      !std::is_same_v<SourceCharT, char>) {
5013
0
            return detail::unexpected_scan_error(
5014
0
                scan_error::invalid_format_string,
5015
0
                "Regex backend doesn't support wide strings as input");
5016
        }
5017
1.34k
        else {
5018
1.34k
            if (!is_entire_source_contiguous(range)) {
5019
858
                return detail::unexpected_scan_error(
5020
858
                    scan_error::invalid_format_string,
5021
858
                    "Cannot use regex with a non-contiguous source "
5022
858
                    "range");
5023
858
            }
5024
5025
486
            auto input = get_as_contiguous(range);
5026
486
            SCN_TRY(it,
5027
90
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
5028
90
            return ranges::next(range.begin(),
5029
90
                                ranges::distance(input.begin(), it));
5030
486
        }
5031
1.34k
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsE
_ZN3scn2v44impl24regex_string_reader_implIcE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsE
Line
Count
Source
5010
858
    {
5011
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
5012
                      !std::is_same_v<SourceCharT, char>) {
5013
            return detail::unexpected_scan_error(
5014
                scan_error::invalid_format_string,
5015
                "Regex backend doesn't support wide strings as input");
5016
        }
5017
858
        else {
5018
858
            if (!is_entire_source_contiguous(range)) {
5019
858
                return detail::unexpected_scan_error(
5020
858
                    scan_error::invalid_format_string,
5021
858
                    "Cannot use regex with a non-contiguous source "
5022
858
                    "range");
5023
858
            }
5024
5025
0
            auto input = get_as_contiguous(range);
5026
0
            SCN_TRY(it,
5027
0
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
5028
0
            return ranges::next(range.begin(),
5029
0
                                ranges::distance(input.begin(), it));
5030
0
        }
5031
858
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsE
Line
Count
Source
5010
486
    {
5011
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
5012
                      !std::is_same_v<SourceCharT, char>) {
5013
            return detail::unexpected_scan_error(
5014
                scan_error::invalid_format_string,
5015
                "Regex backend doesn't support wide strings as input");
5016
        }
5017
486
        else {
5018
486
            if (!is_entire_source_contiguous(range)) {
5019
0
                return detail::unexpected_scan_error(
5020
0
                    scan_error::invalid_format_string,
5021
0
                    "Cannot use regex with a non-contiguous source "
5022
0
                    "range");
5023
0
            }
5024
5025
486
            auto input = get_as_contiguous(range);
5026
486
            SCN_TRY(it,
5027
90
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
5028
90
            return ranges::next(range.begin(),
5029
90
                                ranges::distance(input.begin(), it));
5030
486
        }
5031
486
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsE
5032
};
5033
#endif
5034
5035
template <typename SourceCharT>
5036
class character_reader_impl {
5037
public:
5038
    // Note: no localized version,
5039
    // since it's equivalent in behavior
5040
5041
    template <typename Range, typename ValueCharT>
5042
    auto read(Range range, std::basic_string<ValueCharT>& value)
5043
        -> scan_expected<ranges::const_iterator_t<Range>>
5044
168
    {
5045
168
        return read_impl(
5046
168
            range,
5047
168
            [&](const auto& rng) {
5048
168
                return read_string_impl(rng, read_all(rng), value);
5049
168
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5047
58
            [&](const auto& rng) {
5048
58
                return read_string_impl(rng, read_all(rng), value);
5049
58
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5047
58
            [&](const auto& rng) {
5048
58
                return read_string_impl(rng, read_all(rng), value);
5049
58
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5047
26
            [&](const auto& rng) {
5048
26
                return read_string_impl(rng, read_all(rng), value);
5049
26
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5047
26
            [&](const auto& rng) {
5048
26
                return read_string_impl(rng, read_all(rng), value);
5049
26
            },
5050
168
            detail::priority_tag<1>{});
5051
168
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5044
58
    {
5045
58
        return read_impl(
5046
58
            range,
5047
58
            [&](const auto& rng) {
5048
58
                return read_string_impl(rng, read_all(rng), value);
5049
58
            },
5050
58
            detail::priority_tag<1>{});
5051
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5044
58
    {
5045
58
        return read_impl(
5046
58
            range,
5047
58
            [&](const auto& rng) {
5048
58
                return read_string_impl(rng, read_all(rng), value);
5049
58
            },
5050
58
            detail::priority_tag<1>{});
5051
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5044
26
    {
5045
26
        return read_impl(
5046
26
            range,
5047
26
            [&](const auto& rng) {
5048
26
                return read_string_impl(rng, read_all(rng), value);
5049
26
            },
5050
26
            detail::priority_tag<1>{});
5051
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5044
26
    {
5045
26
        return read_impl(
5046
26
            range,
5047
26
            [&](const auto& rng) {
5048
26
                return read_string_impl(rng, read_all(rng), value);
5049
26
            },
5050
26
            detail::priority_tag<1>{});
5051
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
5052
5053
    template <typename Range, typename ValueCharT>
5054
    auto read(Range range, std::basic_string_view<ValueCharT>& value)
5055
        -> scan_expected<ranges::const_iterator_t<Range>>
5056
84
    {
5057
84
        return read_impl(
5058
84
            range,
5059
84
            [&](const auto& rng) {
5060
84
                return read_string_view_impl(rng, read_all(rng), value);
5061
84
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
_ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Line
Count
Source
5059
58
            [&](const auto& rng) {
5060
58
                return read_string_view_impl(rng, read_all(rng), value);
5061
58
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
_ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Line
Count
Source
5059
26
            [&](const auto& rng) {
5060
26
                return read_string_view_impl(rng, read_all(rng), value);
5061
26
            },
5062
84
            detail::priority_tag<1>{});
5063
84
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
5056
58
    {
5057
58
        return read_impl(
5058
58
            range,
5059
58
            [&](const auto& rng) {
5060
58
                return read_string_view_impl(rng, read_all(rng), value);
5061
58
            },
5062
58
            detail::priority_tag<1>{});
5063
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
5056
26
    {
5057
26
        return read_impl(
5058
26
            range,
5059
26
            [&](const auto& rng) {
5060
26
                return read_string_view_impl(rng, read_all(rng), value);
5061
26
            },
5062
26
            detail::priority_tag<1>{});
5063
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
5064
5065
private:
5066
    template <typename View, typename ReadCb>
5067
    static auto read_impl(const take_width_view<View>& range,
5068
                          ReadCb&& read_cb,
5069
                          detail::priority_tag<1>)
5070
        -> scan_expected<ranges::const_iterator_t<take_width_view<View>&>>
5071
252
    {
5072
252
        return read_cb(range);
5073
252
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5071
58
    {
5072
58
        return read_cb(range);
5073
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5071
58
    {
5072
58
        return read_cb(range);
5073
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5071
58
    {
5072
58
        return read_cb(range);
5073
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5071
26
    {
5072
26
        return read_cb(range);
5073
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5071
26
    {
5072
26
        return read_cb(range);
5073
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5071
26
    {
5072
26
        return read_cb(range);
5073
26
    }
5074
5075
    template <typename Range, typename ReadCb>
5076
    static auto read_impl(Range, ReadCb&&, detail::priority_tag<0>)
5077
        -> scan_expected<ranges::const_iterator_t<Range>>
5078
0
    {
5079
0
        return detail::unexpected_scan_error(
5080
0
            scan_error::invalid_format_string,
5081
0
            "Cannot read characters {:c} without maximum field width");
5082
0
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
5083
};
5084
5085
struct nonascii_specs_handler {
5086
    void on_charset_single(char32_t cp)
5087
893k
    {
5088
893k
        on_charset_range(cp, cp + 1);
5089
893k
    }
5090
5091
    void on_charset_range(char32_t begin, char32_t end)
5092
898k
    {
5093
898k
        if (end <= 127) {
5094
488k
            return;
5095
488k
        }
5096
5097
74.2M
        for (auto& elem : extra_ranges) {
5098
            // TODO: check for overlap
5099
74.2M
            if (elem.first == end) {
5100
1.11k
                elem.first = begin;
5101
1.11k
                return;
5102
1.11k
            }
5103
5104
74.2M
            if (elem.second == begin) {
5105
5.66k
                elem.second = end;
5106
5.66k
                return;
5107
5.66k
            }
5108
74.2M
        }
5109
5110
402k
        extra_ranges.push_back(std::make_pair(begin, end));
5111
402k
    }
5112
5113
    constexpr void on_charset_inverted() const
5114
1.05k
    {
5115
        // no-op
5116
1.05k
    }
5117
5118
    constexpr void on_error(const char* msg)
5119
0
    {
5120
0
        on_error(scan_error{scan_error::invalid_format_string, msg});
5121
0
    }
5122
    constexpr void on_error(scan_error e)
5123
0
    {
5124
0
        SCN_UNLIKELY_ATTR
5125
0
        err = unexpected(e);
5126
0
    }
5127
5128
    constexpr scan_expected<void> get_error() const
5129
909k
    {
5130
909k
        return err;
5131
909k
    }
5132
5133
    std::vector<std::pair<char32_t, char32_t>> extra_ranges;
5134
    scan_expected<void> err;
5135
};
5136
5137
template <typename SourceCharT>
5138
class character_set_reader_impl {
5139
public:
5140
    template <typename Range, typename ValueCharT>
5141
    auto read(Range range,
5142
              const detail::format_specs& specs,
5143
              std::basic_string<ValueCharT>& value)
5144
        -> scan_expected<ranges::const_iterator_t<Range>>
5145
16.1k
    {
5146
16.1k
        auto it = read_source_impl(range, {specs});
5147
16.1k
        if (SCN_UNLIKELY(!it)) {
5148
11.2k
            return unexpected(it.error());
5149
11.2k
        }
5150
5151
4.88k
        return read_string_impl(range, *it, value);
5152
16.1k
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
_ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
Line
Count
Source
5145
2.37k
    {
5146
2.37k
        auto it = read_source_impl(range, {specs});
5147
2.37k
        if (SCN_UNLIKELY(!it)) {
5148
1.72k
            return unexpected(it.error());
5149
1.72k
        }
5150
5151
654
        return read_string_impl(range, *it, value);
5152
2.37k
    }
_ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5145
302
    {
5146
302
        auto it = read_source_impl(range, {specs});
5147
302
        if (SCN_UNLIKELY(!it)) {
5148
8
            return unexpected(it.error());
5149
8
        }
5150
5151
294
        return read_string_impl(range, *it, value);
5152
302
    }
_ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5145
3.74k
    {
5146
3.74k
        auto it = read_source_impl(range, {specs});
5147
3.74k
        if (SCN_UNLIKELY(!it)) {
5148
2.12k
            return unexpected(it.error());
5149
2.12k
        }
5150
5151
1.62k
        return read_string_impl(range, *it, value);
5152
3.74k
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5145
302
    {
5146
302
        auto it = read_source_impl(range, {specs});
5147
302
        if (SCN_UNLIKELY(!it)) {
5148
8
            return unexpected(it.error());
5149
8
        }
5150
5151
294
        return read_string_impl(range, *it, value);
5152
302
    }
_ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5145
1.37k
    {
5146
1.37k
        auto it = read_source_impl(range, {specs});
5147
1.37k
        if (SCN_UNLIKELY(!it)) {
5148
402
            return unexpected(it.error());
5149
402
        }
5150
5151
970
        return read_string_impl(range, *it, value);
5152
1.37k
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5145
196
    {
5146
196
        auto it = read_source_impl(range, {specs});
5147
196
        if (SCN_UNLIKELY(!it)) {
5148
16
            return unexpected(it.error());
5149
16
        }
5150
5151
180
        return read_string_impl(range, *it, value);
5152
196
    }
_ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5145
248
    {
5146
248
        auto it = read_source_impl(range, {specs});
5147
248
        if (SCN_UNLIKELY(!it)) {
5148
18
            return unexpected(it.error());
5149
18
        }
5150
5151
230
        return read_string_impl(range, *it, value);
5152
248
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
_ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
Line
Count
Source
5145
3.56k
    {
5146
3.56k
        auto it = read_source_impl(range, {specs});
5147
3.56k
        if (SCN_UNLIKELY(!it)) {
5148
3.44k
            return unexpected(it.error());
5149
3.44k
        }
5150
5151
116
        return read_string_impl(range, *it, value);
5152
3.56k
    }
_ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5145
196
    {
5146
196
        auto it = read_source_impl(range, {specs});
5147
196
        if (SCN_UNLIKELY(!it)) {
5148
16
            return unexpected(it.error());
5149
16
        }
5150
5151
180
        return read_string_impl(range, *it, value);
5152
196
    }
_ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5145
3.80k
    {
5146
3.80k
        auto it = read_source_impl(range, {specs});
5147
3.80k
        if (SCN_UNLIKELY(!it)) {
5148
3.46k
            return unexpected(it.error());
5149
3.46k
        }
5150
5151
346
        return read_string_impl(range, *it, value);
5152
3.80k
    }
5153
5154
    template <typename Range, typename ValueCharT>
5155
    auto read(Range range,
5156
              const detail::format_specs& specs,
5157
              std::basic_string_view<ValueCharT>& value)
5158
        -> scan_expected<ranges::const_iterator_t<Range>>
5159
8.05k
    {
5160
8.05k
        auto it = read_source_impl(range, {specs});
5161
8.05k
        if (SCN_UNLIKELY(!it)) {
5162
5.61k
            return unexpected(it.error());
5163
5.61k
        }
5164
5165
2.44k
        return read_string_view_impl(range, *it, value);
5166
8.05k
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
5159
302
    {
5160
302
        auto it = read_source_impl(range, {specs});
5161
302
        if (SCN_UNLIKELY(!it)) {
5162
8
            return unexpected(it.error());
5163
8
        }
5164
5165
294
        return read_string_view_impl(range, *it, value);
5166
302
    }
_ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
5159
3.74k
    {
5160
3.74k
        auto it = read_source_impl(range, {specs});
5161
3.74k
        if (SCN_UNLIKELY(!it)) {
5162
2.12k
            return unexpected(it.error());
5163
2.12k
        }
5164
5165
1.62k
        return read_string_view_impl(range, *it, value);
5166
3.74k
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
5159
196
    {
5160
196
        auto it = read_source_impl(range, {specs});
5161
196
        if (SCN_UNLIKELY(!it)) {
5162
16
            return unexpected(it.error());
5163
16
        }
5164
5165
180
        return read_string_view_impl(range, *it, value);
5166
196
    }
_ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
5159
3.80k
    {
5160
3.80k
        auto it = read_source_impl(range, {specs});
5161
3.80k
        if (SCN_UNLIKELY(!it)) {
5162
3.46k
            return unexpected(it.error());
5163
3.46k
        }
5164
5165
346
        return read_string_view_impl(range, *it, value);
5166
3.80k
    }
5167
5168
private:
5169
    struct specs_helper {
5170
24.1k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
scn::v4::impl::character_set_reader_impl<char>::specs_helper::specs_helper(scn::v4::detail::format_specs const&)
Line
Count
Source
5170
12.1k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::specs_helper(scn::v4::detail::format_specs const&)
Line
Count
Source
5170
12.0k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
5171
5172
        constexpr bool is_char_set_in_literals(char ch) const
5173
617k
        {
5174
617k
            SCN_EXPECT(is_ascii_char(ch));
5175
617k
            const auto val =
5176
617k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5177
617k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5178
617k
                    (val % 8)) &
5179
617k
                   1u;
5180
617k
        }
scn::v4::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_literals(char) const
Line
Count
Source
5173
597k
        {
5174
597k
            SCN_EXPECT(is_ascii_char(ch));
5175
597k
            const auto val =
5176
597k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5177
597k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5178
597k
                    (val % 8)) &
5179
597k
                   1u;
5180
597k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_literals(char) const
Line
Count
Source
5173
20.8k
        {
5174
20.8k
            SCN_EXPECT(is_ascii_char(ch));
5175
20.8k
            const auto val =
5176
20.8k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5177
20.8k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5178
20.8k
                    (val % 8)) &
5179
20.8k
                   1u;
5180
20.8k
        }
5181
5182
        bool is_char_set_in_extra_literals(char32_t cp) const
5183
124k
        {
5184
            // TODO: binary search?
5185
124k
            if (nonascii.extra_ranges.empty()) {
5186
0
                return false;
5187
0
            }
5188
5189
124k
            const auto cp_val = static_cast<uint32_t>(cp);
5190
124k
            return std::find_if(
5191
124k
                       nonascii.extra_ranges.begin(),
5192
124k
                       nonascii.extra_ranges.end(),
5193
14.5M
                       [cp_val](const auto& pair) noexcept {
5194
14.5M
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5195
14.5M
                                  static_cast<uint32_t>(pair.second) > cp_val;
5196
14.5M
                       }) != nonascii.extra_ranges.end();
auto scn::v4::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_extra_literals(char32_t) const::{lambda(auto:1 const&)#1}::operator()<std::__1::pair<char32_t, char32_t> >(std::__1::pair<char32_t, char32_t> const&) const
Line
Count
Source
5193
14.5M
                       [cp_val](const auto& pair) noexcept {
5194
14.5M
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5195
14.5M
                                  static_cast<uint32_t>(pair.second) > cp_val;
5196
14.5M
                       }) != nonascii.extra_ranges.end();
auto scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_extra_literals(char32_t) const::{lambda(auto:1 const&)#1}::operator()<std::__1::pair<char32_t, char32_t> >(std::__1::pair<char32_t, char32_t> const&) const
Line
Count
Source
5193
28.2k
                       [cp_val](const auto& pair) noexcept {
5194
28.2k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5195
28.2k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5196
28.2k
                       }) != nonascii.extra_ranges.end();
5197
124k
        }
scn::v4::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_extra_literals(char32_t) const
Line
Count
Source
5183
120k
        {
5184
            // TODO: binary search?
5185
120k
            if (nonascii.extra_ranges.empty()) {
5186
0
                return false;
5187
0
            }
5188
5189
120k
            const auto cp_val = static_cast<uint32_t>(cp);
5190
120k
            return std::find_if(
5191
120k
                       nonascii.extra_ranges.begin(),
5192
120k
                       nonascii.extra_ranges.end(),
5193
120k
                       [cp_val](const auto& pair) noexcept {
5194
120k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5195
120k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5196
120k
                       }) != nonascii.extra_ranges.end();
5197
120k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_extra_literals(char32_t) const
Line
Count
Source
5183
3.54k
        {
5184
            // TODO: binary search?
5185
3.54k
            if (nonascii.extra_ranges.empty()) {
5186
0
                return false;
5187
0
            }
5188
5189
3.54k
            const auto cp_val = static_cast<uint32_t>(cp);
5190
3.54k
            return std::find_if(
5191
3.54k
                       nonascii.extra_ranges.begin(),
5192
3.54k
                       nonascii.extra_ranges.end(),
5193
3.54k
                       [cp_val](const auto& pair) noexcept {
5194
3.54k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5195
3.54k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5196
3.54k
                       }) != nonascii.extra_ranges.end();
5197
3.54k
        }
5198
5199
        scan_expected<void> handle_nonascii()
5200
24.1k
        {
5201
24.1k
            if (!specs.charset_has_nonascii) {
5202
18.8k
                return {};
5203
18.8k
            }
5204
5205
5.33k
            auto charset_string = specs.charset_string<SourceCharT>();
5206
5.33k
            auto it = detail::to_address(charset_string.begin());
5207
5.33k
            auto set = detail::parse_presentation_set(
5208
5.33k
                it, detail::to_address(charset_string.end()), nonascii);
5209
5.33k
            SCN_TRY_DISCARD(nonascii.get_error());
5210
5.33k
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5211
5.33k
            SCN_ENSURE(set == charset_string);
5212
5213
5.33k
            std::sort(nonascii.extra_ranges.begin(),
5214
5.33k
                      nonascii.extra_ranges.end());
5215
5.33k
            return {};
5216
5.33k
        }
scn::v4::impl::character_set_reader_impl<char>::specs_helper::handle_nonascii()
Line
Count
Source
5200
12.1k
        {
5201
12.1k
            if (!specs.charset_has_nonascii) {
5202
7.75k
                return {};
5203
7.75k
            }
5204
5205
4.39k
            auto charset_string = specs.charset_string<SourceCharT>();
5206
4.39k
            auto it = detail::to_address(charset_string.begin());
5207
4.39k
            auto set = detail::parse_presentation_set(
5208
4.39k
                it, detail::to_address(charset_string.end()), nonascii);
5209
4.39k
            SCN_TRY_DISCARD(nonascii.get_error());
5210
4.39k
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5211
4.39k
            SCN_ENSURE(set == charset_string);
5212
5213
4.39k
            std::sort(nonascii.extra_ranges.begin(),
5214
4.39k
                      nonascii.extra_ranges.end());
5215
4.39k
            return {};
5216
4.39k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::handle_nonascii()
Line
Count
Source
5200
12.0k
        {
5201
12.0k
            if (!specs.charset_has_nonascii) {
5202
11.0k
                return {};
5203
11.0k
            }
5204
5205
936
            auto charset_string = specs.charset_string<SourceCharT>();
5206
936
            auto it = detail::to_address(charset_string.begin());
5207
936
            auto set = detail::parse_presentation_set(
5208
936
                it, detail::to_address(charset_string.end()), nonascii);
5209
936
            SCN_TRY_DISCARD(nonascii.get_error());
5210
936
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5211
936
            SCN_ENSURE(set == charset_string);
5212
5213
936
            std::sort(nonascii.extra_ranges.begin(),
5214
936
                      nonascii.extra_ranges.end());
5215
936
            return {};
5216
936
        }
5217
5218
        const detail::format_specs& specs;
5219
        nonascii_specs_handler nonascii;
5220
    };
5221
5222
    struct read_source_callback {
5223
        SCN_NODISCARD bool on_ascii_only(SourceCharT ch) const
5224
44.5k
        {
5225
44.5k
            if (!is_ascii_char(ch)) {
5226
8.79k
                return false;
5227
8.79k
            }
5228
5229
35.7k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5230
44.5k
        }
scn::v4::impl::character_set_reader_impl<char>::read_source_callback::on_ascii_only(char) const
Line
Count
Source
5224
26.6k
        {
5225
26.6k
            if (!is_ascii_char(ch)) {
5226
3.55k
                return false;
5227
3.55k
            }
5228
5229
23.1k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5230
26.6k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::read_source_callback::on_ascii_only(wchar_t) const
Line
Count
Source
5224
17.8k
        {
5225
17.8k
            if (!is_ascii_char(ch)) {
5226
5.23k
                return false;
5227
5.23k
            }
5228
5229
12.5k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5230
17.8k
        }
5231
5232
        SCN_NODISCARD bool on_classic_with_extra_ranges(char32_t cp) const
5233
706k
        {
5234
706k
            if (!is_ascii_char(cp)) {
5235
124k
                return helper.is_char_set_in_extra_literals(cp);
5236
124k
            }
5237
5238
582k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5239
706k
        }
scn::v4::impl::character_set_reader_impl<char>::read_source_callback::on_classic_with_extra_ranges(char32_t) const
Line
Count
Source
5233
694k
        {
5234
694k
            if (!is_ascii_char(cp)) {
5235
120k
                return helper.is_char_set_in_extra_literals(cp);
5236
120k
            }
5237
5238
574k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5239
694k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::read_source_callback::on_classic_with_extra_ranges(char32_t) const
Line
Count
Source
5233
11.7k
        {
5234
11.7k
            if (!is_ascii_char(cp)) {
5235
3.54k
                return helper.is_char_set_in_extra_literals(cp);
5236
3.54k
            }
5237
5238
8.23k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5239
11.7k
        }
5240
5241
        const specs_helper& helper;
5242
        detail::locale_ref loc{};
5243
    };
5244
5245
    template <typename Range>
5246
    auto read_source_impl(Range range, specs_helper helper) const
5247
        -> scan_expected<ranges::const_iterator_t<Range>>
5248
24.1k
    {
5249
24.1k
        const bool is_inverted = helper.specs.charset_is_inverted;
5250
24.1k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5251
5252
24.1k
        SCN_TRY_DISCARD(helper.handle_nonascii());
5253
5254
24.1k
        read_source_callback cb_wrapper{helper};
5255
5256
24.1k
        if (accepts_nonascii) {
5257
706k
            const auto cb = [&](char32_t cp) {
5258
706k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5259
706k
            };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlDiE_clEDi
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5257
15.3k
            const auto cb = [&](char32_t cp) {
5258
15.3k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5259
15.3k
            };
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5257
679k
            const auto cb = [&](char32_t cp) {
5258
679k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5259
679k
            };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlDiE_clEDi
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5257
4.60k
            const auto cb = [&](char32_t cp) {
5258
4.60k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5259
4.60k
            };
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5257
7.17k
            const auto cb = [&](char32_t cp) {
5258
7.17k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5259
7.17k
            };
5260
5261
5.33k
            if (is_inverted) {
5262
1.05k
                auto it = read_until_code_point(range, cb);
5263
1.05k
                return check_nonempty(it, range);
5264
1.05k
            }
5265
4.28k
            auto it = read_while_code_point(range, cb);
5266
4.28k
            return check_nonempty(it, range);
5267
5.33k
        }
5268
5269
44.5k
        const auto cb = [&](SourceCharT ch) {
5270
44.5k
            return cb_wrapper.on_ascii_only(ch);
5271
44.5k
        };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlcE_clEc
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5269
5.30k
        const auto cb = [&](SourceCharT ch) {
5270
5.30k
            return cb_wrapper.on_ascii_only(ch);
5271
5.30k
        };
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5269
7.53k
        const auto cb = [&](SourceCharT ch) {
5270
7.53k
            return cb_wrapper.on_ascii_only(ch);
5271
7.53k
        };
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5269
13.8k
        const auto cb = [&](SourceCharT ch) {
5270
13.8k
            return cb_wrapper.on_ascii_only(ch);
5271
13.8k
        };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlwE_clEw
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5269
4.53k
        const auto cb = [&](SourceCharT ch) {
5270
4.53k
            return cb_wrapper.on_ascii_only(ch);
5271
4.53k
        };
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5269
2.14k
        const auto cb = [&](SourceCharT ch) {
5270
2.14k
            return cb_wrapper.on_ascii_only(ch);
5271
2.14k
        };
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5269
11.1k
        const auto cb = [&](SourceCharT ch) {
5270
11.1k
            return cb_wrapper.on_ascii_only(ch);
5271
11.1k
        };
5272
5273
18.8k
        if (is_inverted) {
5274
474
            auto it = read_until_code_unit(range, cb);
5275
474
            return check_nonempty(it, range);
5276
474
        }
5277
18.3k
        auto it = read_while_code_unit(range, cb);
5278
18.3k
        return check_nonempty(it, range);
5279
18.8k
    }
Unexecuted instantiation: _ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperE
_ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperE
Line
Count
Source
5248
2.37k
    {
5249
2.37k
        const bool is_inverted = helper.specs.charset_is_inverted;
5250
2.37k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5251
5252
2.37k
        SCN_TRY_DISCARD(helper.handle_nonascii());
5253
5254
2.37k
        read_source_callback cb_wrapper{helper};
5255
5256
2.37k
        if (accepts_nonascii) {
5257
0
            const auto cb = [&](char32_t cp) {
5258
0
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5259
0
            };
5260
5261
0
            if (is_inverted) {
5262
0
                auto it = read_until_code_point(range, cb);
5263
0
                return check_nonempty(it, range);
5264
0
            }
5265
0
            auto it = read_while_code_point(range, cb);
5266
0
            return check_nonempty(it, range);
5267
0
        }
5268
5269
2.37k
        const auto cb = [&](SourceCharT ch) {
5270
2.37k
            return cb_wrapper.on_ascii_only(ch);
5271
2.37k
        };
5272
5273
2.37k
        if (is_inverted) {
5274
0
            auto it = read_until_code_unit(range, cb);
5275
0
            return check_nonempty(it, range);
5276
0
        }
5277
2.37k
        auto it = read_while_code_unit(range, cb);
5278
2.37k
        return check_nonempty(it, range);
5279
2.37k
    }
_ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperE
Line
Count
Source
5248
906
    {
5249
906
        const bool is_inverted = helper.specs.charset_is_inverted;
5250
906
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5251
5252
906
        SCN_TRY_DISCARD(helper.handle_nonascii());
5253
5254
906
        read_source_callback cb_wrapper{helper};
5255
5256
906
        if (accepts_nonascii) {
5257
510
            const auto cb = [&](char32_t cp) {
5258
510
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5259
510
            };
5260
5261
510
            if (is_inverted) {
5262
240
                auto it = read_until_code_point(range, cb);
5263
240
                return check_nonempty(it, range);
5264
240
            }
5265
270
            auto it = read_while_code_point(range, cb);
5266
270
            return check_nonempty(it, range);
5267
510
        }
5268
5269
396
        const auto cb = [&](SourceCharT ch) {
5270
396
            return cb_wrapper.on_ascii_only(ch);
5271
396
        };
5272
5273
396
        if (is_inverted) {
5274
180
            auto it = read_until_code_unit(range, cb);
5275
180
            return check_nonempty(it, range);
5276
180
        }
5277
216
        auto it = read_while_code_unit(range, cb);
5278
216
        return check_nonempty(it, range);
5279
396
    }
_ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperE
Line
Count
Source
5248
8.86k
    {
5249
8.86k
        const bool is_inverted = helper.specs.charset_is_inverted;
5250
8.86k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5251
5252
8.86k
        SCN_TRY_DISCARD(helper.handle_nonascii());
5253
5254
8.86k
        read_source_callback cb_wrapper{helper};
5255
5256
8.86k
        if (accepts_nonascii) {
5257
3.88k
            const auto cb = [&](char32_t cp) {
5258
3.88k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5259
3.88k
            };
5260
5261
3.88k
            if (is_inverted) {
5262
252
                auto it = read_until_code_point(range, cb);
5263
252
                return check_nonempty(it, range);
5264
252
            }
5265
3.63k
            auto it = read_while_code_point(range, cb);
5266
3.63k
            return check_nonempty(it, range);
5267
3.88k
        }
5268
5269
4.98k
        const auto cb = [&](SourceCharT ch) {
5270
4.98k
            return cb_wrapper.on_ascii_only(ch);
5271
4.98k
        };
5272
5273
4.98k
        if (is_inverted) {
5274
102
            auto it = read_until_code_unit(range, cb);
5275
102
            return check_nonempty(it, range);
5276
102
        }
5277
4.87k
        auto it = read_while_code_unit(range, cb);
5278
4.87k
        return check_nonempty(it, range);
5279
4.98k
    }
Unexecuted instantiation: _ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperE
_ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperE
Line
Count
Source
5248
3.56k
    {
5249
3.56k
        const bool is_inverted = helper.specs.charset_is_inverted;
5250
3.56k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5251
5252
3.56k
        SCN_TRY_DISCARD(helper.handle_nonascii());
5253
5254
3.56k
        read_source_callback cb_wrapper{helper};
5255
5256
3.56k
        if (accepts_nonascii) {
5257
0
            const auto cb = [&](char32_t cp) {
5258
0
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5259
0
            };
5260
5261
0
            if (is_inverted) {
5262
0
                auto it = read_until_code_point(range, cb);
5263
0
                return check_nonempty(it, range);
5264
0
            }
5265
0
            auto it = read_while_code_point(range, cb);
5266
0
            return check_nonempty(it, range);
5267
0
        }
5268
5269
3.56k
        const auto cb = [&](SourceCharT ch) {
5270
3.56k
            return cb_wrapper.on_ascii_only(ch);
5271
3.56k
        };
5272
5273
3.56k
        if (is_inverted) {
5274
0
            auto it = read_until_code_unit(range, cb);
5275
0
            return check_nonempty(it, range);
5276
0
        }
5277
3.56k
        auto it = read_while_code_unit(range, cb);
5278
3.56k
        return check_nonempty(it, range);
5279
3.56k
    }
_ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperE
Line
Count
Source
5248
588
    {
5249
588
        const bool is_inverted = helper.specs.charset_is_inverted;
5250
588
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5251
5252
588
        SCN_TRY_DISCARD(helper.handle_nonascii());
5253
5254
588
        read_source_callback cb_wrapper{helper};
5255
5256
588
        if (accepts_nonascii) {
5257
372
            const auto cb = [&](char32_t cp) {
5258
372
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5259
372
            };
5260
5261
372
            if (is_inverted) {
5262
198
                auto it = read_until_code_point(range, cb);
5263
198
                return check_nonempty(it, range);
5264
198
            }
5265
174
            auto it = read_while_code_point(range, cb);
5266
174
            return check_nonempty(it, range);
5267
372
        }
5268
5269
216
        const auto cb = [&](SourceCharT ch) {
5270
216
            return cb_wrapper.on_ascii_only(ch);
5271
216
        };
5272
5273
216
        if (is_inverted) {
5274
114
            auto it = read_until_code_unit(range, cb);
5275
114
            return check_nonempty(it, range);
5276
114
        }
5277
102
        auto it = read_while_code_unit(range, cb);
5278
102
        return check_nonempty(it, range);
5279
216
    }
_ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperE
Line
Count
Source
5248
7.86k
    {
5249
7.86k
        const bool is_inverted = helper.specs.charset_is_inverted;
5250
7.86k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5251
5252
7.86k
        SCN_TRY_DISCARD(helper.handle_nonascii());
5253
5254
7.86k
        read_source_callback cb_wrapper{helper};
5255
5256
7.86k
        if (accepts_nonascii) {
5257
564
            const auto cb = [&](char32_t cp) {
5258
564
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5259
564
            };
5260
5261
564
            if (is_inverted) {
5262
360
                auto it = read_until_code_point(range, cb);
5263
360
                return check_nonempty(it, range);
5264
360
            }
5265
204
            auto it = read_while_code_point(range, cb);
5266
204
            return check_nonempty(it, range);
5267
564
        }
5268
5269
7.30k
        const auto cb = [&](SourceCharT ch) {
5270
7.30k
            return cb_wrapper.on_ascii_only(ch);
5271
7.30k
        };
5272
5273
7.30k
        if (is_inverted) {
5274
78
            auto it = read_until_code_unit(range, cb);
5275
78
            return check_nonempty(it, range);
5276
78
        }
5277
7.22k
        auto it = read_while_code_unit(range, cb);
5278
7.22k
        return check_nonempty(it, range);
5279
7.30k
    }
5280
5281
    template <typename Iterator, typename Range>
5282
    static scan_expected<Iterator> check_nonempty(const Iterator& it,
5283
                                                  Range range)
5284
24.1k
    {
5285
24.1k
        if (it == range.begin()) {
5286
16.8k
            return detail::unexpected_scan_error(
5287
16.8k
                scan_error::invalid_scanned_value,
5288
16.8k
                "No characters matched in [character set]");
5289
16.8k
        }
5290
5291
7.33k
        return it;
5292
24.1k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > scn::v4::impl::character_set_reader_impl<char>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::character_set_reader_impl<char>::check_nonempty<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Line
Count
Source
5284
2.37k
    {
5285
2.37k
        if (it == range.begin()) {
5286
1.72k
            return detail::unexpected_scan_error(
5287
1.72k
                scan_error::invalid_scanned_value,
5288
1.72k
                "No characters matched in [character set]");
5289
1.72k
        }
5290
5291
654
        return it;
5292
2.37k
    }
scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > scn::v4::impl::character_set_reader_impl<char>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
5284
906
    {
5285
906
        if (it == range.begin()) {
5286
24
            return detail::unexpected_scan_error(
5287
24
                scan_error::invalid_scanned_value,
5288
24
                "No characters matched in [character set]");
5289
24
        }
5290
5291
882
        return it;
5292
906
    }
scn::v4::scan_expected<char const*> scn::v4::impl::character_set_reader_impl<char>::check_nonempty<char const*, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(char const* const&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
5284
8.86k
    {
5285
8.86k
        if (it == range.begin()) {
5286
4.65k
            return detail::unexpected_scan_error(
5287
4.65k
                scan_error::invalid_scanned_value,
5288
4.65k
                "No characters matched in [character set]");
5289
4.65k
        }
5290
5291
4.21k
        return it;
5292
8.86k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Line
Count
Source
5284
3.56k
    {
5285
3.56k
        if (it == range.begin()) {
5286
3.44k
            return detail::unexpected_scan_error(
5287
3.44k
                scan_error::invalid_scanned_value,
5288
3.44k
                "No characters matched in [character set]");
5289
3.44k
        }
5290
5291
116
        return it;
5292
3.56k
    }
scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
5284
588
    {
5285
588
        if (it == range.begin()) {
5286
48
            return detail::unexpected_scan_error(
5287
48
                scan_error::invalid_scanned_value,
5288
48
                "No characters matched in [character set]");
5289
48
        }
5290
5291
540
        return it;
5292
588
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<wchar_t const*, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(wchar_t const* const&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
5284
7.86k
    {
5285
7.86k
        if (it == range.begin()) {
5286
6.94k
            return detail::unexpected_scan_error(
5287
6.94k
                scan_error::invalid_scanned_value,
5288
6.94k
                "No characters matched in [character set]");
5289
6.94k
        }
5290
5291
922
        return it;
5292
7.86k
    }
5293
};
5294
5295
template <typename SourceCharT>
5296
class string_reader
5297
    : public reader_base<string_reader<SourceCharT>, SourceCharT> {
5298
public:
5299
2.40M
    constexpr string_reader() = default;
scn::v4::impl::string_reader<char>::string_reader()
Line
Count
Source
5299
328k
    constexpr string_reader() = default;
scn::v4::impl::string_reader<wchar_t>::string_reader()
Line
Count
Source
5299
2.07M
    constexpr string_reader() = default;
5300
5301
    void check_specs_impl(const detail::format_specs& specs,
5302
                          reader_error_handler& eh)
5303
987k
    {
5304
987k
        detail::check_string_type_specs(specs, eh);
5305
5306
987k
        SCN_GCC_PUSH
5307
987k
        SCN_GCC_IGNORE("-Wswitch")
5308
987k
        SCN_GCC_IGNORE("-Wswitch-default")
5309
5310
987k
        SCN_CLANG_PUSH
5311
987k
        SCN_CLANG_IGNORE("-Wswitch")
5312
987k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5313
5314
987k
        switch (specs.type) {
5315
3.77k
            case detail::presentation_type::none:
5316
3.77k
                m_type = reader_type::word;
5317
3.77k
                break;
5318
5319
941k
            case detail::presentation_type::string: {
5320
941k
                if (specs.align == detail::align_type::left ||
5321
941k
                    specs.align == detail::align_type::center) {
5322
822
                    m_type = reader_type::custom_word;
5323
822
                }
5324
940k
                else {
5325
940k
                    m_type = reader_type::word;
5326
940k
                }
5327
941k
                break;
5328
0
            }
5329
5330
15.7k
            case detail::presentation_type::character:
5331
15.7k
                m_type = reader_type::character;
5332
15.7k
                break;
5333
5334
24.1k
            case detail::presentation_type::string_set:
5335
24.1k
                m_type = reader_type::character_set;
5336
24.1k
                break;
5337
5338
102
            case detail::presentation_type::regex:
5339
102
                m_type = reader_type::regex;
5340
102
                break;
5341
5342
1.24k
            case detail::presentation_type::regex_escaped:
5343
1.24k
                m_type = reader_type::regex_escaped;
5344
1.24k
                break;
5345
987k
        }
5346
5347
        SCN_CLANG_POP    // -Wswitch-enum, -Wcovered-switch-default
5348
            SCN_GCC_POP  // -Wswitch-enum, -Wswitch-default
5349
987k
    }
scn::v4::impl::string_reader<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5303
143k
    {
5304
143k
        detail::check_string_type_specs(specs, eh);
5305
5306
143k
        SCN_GCC_PUSH
5307
143k
        SCN_GCC_IGNORE("-Wswitch")
5308
143k
        SCN_GCC_IGNORE("-Wswitch-default")
5309
5310
143k
        SCN_CLANG_PUSH
5311
143k
        SCN_CLANG_IGNORE("-Wswitch")
5312
143k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5313
5314
143k
        switch (specs.type) {
5315
1.93k
            case detail::presentation_type::none:
5316
1.93k
                m_type = reader_type::word;
5317
1.93k
                break;
5318
5319
122k
            case detail::presentation_type::string: {
5320
122k
                if (specs.align == detail::align_type::left ||
5321
122k
                    specs.align == detail::align_type::center) {
5322
570
                    m_type = reader_type::custom_word;
5323
570
                }
5324
121k
                else {
5325
121k
                    m_type = reader_type::word;
5326
121k
                }
5327
122k
                break;
5328
0
            }
5329
5330
5.35k
            case detail::presentation_type::character:
5331
5.35k
                m_type = reader_type::character;
5332
5.35k
                break;
5333
5334
12.1k
            case detail::presentation_type::string_set:
5335
12.1k
                m_type = reader_type::character_set;
5336
12.1k
                break;
5337
5338
102
            case detail::presentation_type::regex:
5339
102
                m_type = reader_type::regex;
5340
102
                break;
5341
5342
1.24k
            case detail::presentation_type::regex_escaped:
5343
1.24k
                m_type = reader_type::regex_escaped;
5344
1.24k
                break;
5345
143k
        }
5346
5347
        SCN_CLANG_POP    // -Wswitch-enum, -Wcovered-switch-default
5348
            SCN_GCC_POP  // -Wswitch-enum, -Wswitch-default
5349
143k
    }
scn::v4::impl::string_reader<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5303
843k
    {
5304
843k
        detail::check_string_type_specs(specs, eh);
5305
5306
843k
        SCN_GCC_PUSH
5307
843k
        SCN_GCC_IGNORE("-Wswitch")
5308
843k
        SCN_GCC_IGNORE("-Wswitch-default")
5309
5310
843k
        SCN_CLANG_PUSH
5311
843k
        SCN_CLANG_IGNORE("-Wswitch")
5312
843k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5313
5314
843k
        switch (specs.type) {
5315
1.83k
            case detail::presentation_type::none:
5316
1.83k
                m_type = reader_type::word;
5317
1.83k
                break;
5318
5319
818k
            case detail::presentation_type::string: {
5320
818k
                if (specs.align == detail::align_type::left ||
5321
818k
                    specs.align == detail::align_type::center) {
5322
252
                    m_type = reader_type::custom_word;
5323
252
                }
5324
818k
                else {
5325
818k
                    m_type = reader_type::word;
5326
818k
                }
5327
818k
                break;
5328
0
            }
5329
5330
10.4k
            case detail::presentation_type::character:
5331
10.4k
                m_type = reader_type::character;
5332
10.4k
                break;
5333
5334
12.0k
            case detail::presentation_type::string_set:
5335
12.0k
                m_type = reader_type::character_set;
5336
12.0k
                break;
5337
5338
0
            case detail::presentation_type::regex:
5339
0
                m_type = reader_type::regex;
5340
0
                break;
5341
5342
0
            case detail::presentation_type::regex_escaped:
5343
0
                m_type = reader_type::regex_escaped;
5344
0
                break;
5345
843k
        }
5346
5347
        SCN_CLANG_POP    // -Wswitch-enum, -Wcovered-switch-default
5348
            SCN_GCC_POP  // -Wswitch-enum, -Wswitch-default
5349
843k
    }
5350
5351
    bool skip_ws_before_read() const
5352
3.31M
    {
5353
3.31M
        return m_type == reader_type::word;
5354
3.31M
    }
scn::v4::impl::string_reader<char>::skip_ws_before_read() const
Line
Count
Source
5352
443k
    {
5353
443k
        return m_type == reader_type::word;
5354
443k
    }
scn::v4::impl::string_reader<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5352
2.87M
    {
5353
2.87M
        return m_type == reader_type::word;
5354
2.87M
    }
5355
5356
    template <typename Range, typename Value>
5357
    auto read_default(Range range, Value& value, detail::locale_ref loc)
5358
        -> scan_expected<ranges::const_iterator_t<Range>>
5359
1.40M
    {
5360
1.40M
        SCN_UNUSED(loc);
5361
1.40M
        return word_reader_impl<SourceCharT>{}.read(range, value);
5362
1.40M
    }
_ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5359
55.3k
    {
5360
55.3k
        SCN_UNUSED(loc);
5361
55.3k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5362
55.3k
    }
_ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5359
636
    {
5360
636
        SCN_UNUSED(loc);
5361
636
        return word_reader_impl<SourceCharT>{}.read(range, value);
5362
636
    }
_ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
Line
Count
Source
5359
55.3k
    {
5360
55.3k
        SCN_UNUSED(loc);
5361
55.3k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5362
55.3k
    }
_ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Line
Count
Source
5359
69.7k
    {
5360
69.7k
        SCN_UNUSED(loc);
5361
69.7k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5362
69.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5359
576
    {
5360
576
        SCN_UNUSED(loc);
5361
576
        return word_reader_impl<SourceCharT>{}.read(range, value);
5362
576
    }
_ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5359
408k
    {
5360
408k
        SCN_UNUSED(loc);
5361
408k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5362
408k
    }
_ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
Line
Count
Source
5359
408k
    {
5360
408k
        SCN_UNUSED(loc);
5361
408k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5362
408k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Line
Count
Source
5359
407k
    {
5360
407k
        SCN_UNUSED(loc);
5361
407k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5362
407k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
5363
5364
    template <typename Range, typename Value>
5365
    auto read_specs(Range range,
5366
                    const detail::format_specs& specs,
5367
                    Value& value,
5368
                    detail::locale_ref loc)
5369
        -> scan_expected<ranges::const_iterator_t<Range>>
5370
965k
    {
5371
965k
        SCN_UNUSED(loc);
5372
965k
        return read_impl(range, specs, value);
5373
965k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
5370
48.8k
    {
5371
48.8k
        SCN_UNUSED(loc);
5372
48.8k
        return read_impl(range, specs, value);
5373
48.8k
    }
_ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5370
1.13k
    {
5371
1.13k
        SCN_UNUSED(loc);
5372
1.13k
        return read_impl(range, specs, value);
5373
1.13k
    }
_ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5370
40.8k
    {
5371
40.8k
        SCN_UNUSED(loc);
5372
40.8k
        return read_impl(range, specs, value);
5373
40.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5370
1.13k
    {
5371
1.13k
        SCN_UNUSED(loc);
5372
1.13k
        return read_impl(range, specs, value);
5373
1.13k
    }
_ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5370
1.93k
    {
5371
1.93k
        SCN_UNUSED(loc);
5372
1.93k
        return read_impl(range, specs, value);
5373
1.93k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5370
1.13k
    {
5371
1.13k
        SCN_UNUSED(loc);
5372
1.13k
        return read_impl(range, specs, value);
5373
1.13k
    }
_ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Line
Count
Source
5370
40.8k
    {
5371
40.8k
        SCN_UNUSED(loc);
5372
40.8k
        return read_impl(range, specs, value);
5373
40.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5370
474
    {
5371
474
        SCN_UNUSED(loc);
5372
474
        return read_impl(range, specs, value);
5373
474
    }
_ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5370
710
    {
5371
710
        SCN_UNUSED(loc);
5372
710
        return read_impl(range, specs, value);
5373
710
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
5370
275k
    {
5371
275k
        SCN_UNUSED(loc);
5372
275k
        return read_impl(range, specs, value);
5373
275k
    }
_ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5370
474
    {
5371
474
        SCN_UNUSED(loc);
5372
474
        return read_impl(range, specs, value);
5373
474
    }
_ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5370
276k
    {
5371
276k
        SCN_UNUSED(loc);
5372
276k
        return read_impl(range, specs, value);
5373
276k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5370
474
    {
5371
474
        SCN_UNUSED(loc);
5372
474
        return read_impl(range, specs, value);
5373
474
    }
_ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Line
Count
Source
5370
276k
    {
5371
276k
        SCN_UNUSED(loc);
5372
276k
        return read_impl(range, specs, value);
5373
276k
    }
5374
5375
protected:
5376
    enum class reader_type {
5377
        word,
5378
        custom_word,
5379
        character,
5380
        character_set,
5381
        regex,
5382
        regex_escaped,
5383
    };
5384
5385
    template <typename Range, typename Value>
5386
    auto read_impl(Range range, const detail::format_specs& specs, Value& value)
5387
        -> scan_expected<ranges::const_iterator_t<Range>>
5388
965k
    {
5389
965k
        SCN_CLANG_PUSH
5390
965k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5391
5392
965k
        switch (m_type) {
5393
939k
            case reader_type::word:
5394
939k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5395
5396
810
            case reader_type::custom_word:
5397
810
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5398
810
                                                                   value);
5399
5400
252
            case reader_type::character:
5401
252
                return character_reader_impl<SourceCharT>{}.read(range, value);
5402
5403
24.1k
            case reader_type::character_set:
5404
24.1k
                return character_set_reader_impl<SourceCharT>{}.read(
5405
24.1k
                    range, specs, value);
5406
5407
0
#if !SCN_DISABLE_REGEX
5408
102
            case reader_type::regex:
5409
102
                return regex_string_reader_impl<SourceCharT>{}.read(
5410
102
                    range, specs.charset_string<SourceCharT>(),
5411
102
                    specs.regexp_flags, value);
5412
5413
1.24k
            case reader_type::regex_escaped:
5414
1.24k
                return regex_string_reader_impl<SourceCharT>{}.read(
5415
1.24k
                    range,
5416
1.24k
                    get_unescaped_regex_pattern(
5417
1.24k
                        specs.charset_string<SourceCharT>()),
5418
1.24k
                    specs.regexp_flags, value);
5419
0
#endif
5420
5421
0
            default:
5422
0
                SCN_EXPECT(false);
5423
965k
                SCN_UNREACHABLE;
5424
965k
        }
5425
5426
965k
        SCN_CLANG_POP
5427
965k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
_ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
Line
Count
Source
5388
48.8k
    {
5389
48.8k
        SCN_CLANG_PUSH
5390
48.8k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5391
5392
48.8k
        switch (m_type) {
5393
46.4k
            case reader_type::word:
5394
46.4k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5395
5396
0
            case reader_type::custom_word:
5397
0
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5398
0
                                                                   value);
5399
5400
0
            case reader_type::character:
5401
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5402
5403
2.37k
            case reader_type::character_set:
5404
2.37k
                return character_set_reader_impl<SourceCharT>{}.read(
5405
2.37k
                    range, specs, value);
5406
5407
0
#if !SCN_DISABLE_REGEX
5408
0
            case reader_type::regex:
5409
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5410
0
                    range, specs.charset_string<SourceCharT>(),
5411
0
                    specs.regexp_flags, value);
5412
5413
0
            case reader_type::regex_escaped:
5414
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5415
0
                    range,
5416
0
                    get_unescaped_regex_pattern(
5417
0
                        specs.charset_string<SourceCharT>()),
5418
0
                    specs.regexp_flags, value);
5419
0
#endif
5420
5421
0
            default:
5422
0
                SCN_EXPECT(false);
5423
48.8k
                SCN_UNREACHABLE;
5424
48.8k
        }
5425
5426
48.8k
        SCN_CLANG_POP
5427
48.8k
    }
_ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5388
1.13k
    {
5389
1.13k
        SCN_CLANG_PUSH
5390
1.13k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5391
5392
1.13k
        switch (m_type) {
5393
360
            case reader_type::word:
5394
360
                return word_reader_impl<SourceCharT>{}.read(range, value);
5395
5396
126
            case reader_type::custom_word:
5397
126
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5398
126
                                                                   value);
5399
5400
58
            case reader_type::character:
5401
58
                return character_reader_impl<SourceCharT>{}.read(range, value);
5402
5403
302
            case reader_type::character_set:
5404
302
                return character_set_reader_impl<SourceCharT>{}.read(
5405
302
                    range, specs, value);
5406
5407
0
#if !SCN_DISABLE_REGEX
5408
2
            case reader_type::regex:
5409
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5410
2
                    range, specs.charset_string<SourceCharT>(),
5411
2
                    specs.regexp_flags, value);
5412
5413
284
            case reader_type::regex_escaped:
5414
284
                return regex_string_reader_impl<SourceCharT>{}.read(
5415
284
                    range,
5416
284
                    get_unescaped_regex_pattern(
5417
284
                        specs.charset_string<SourceCharT>()),
5418
284
                    specs.regexp_flags, value);
5419
0
#endif
5420
5421
0
            default:
5422
0
                SCN_EXPECT(false);
5423
1.13k
                SCN_UNREACHABLE;
5424
1.13k
        }
5425
5426
1.13k
        SCN_CLANG_POP
5427
1.13k
    }
_ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5388
40.8k
    {
5389
40.8k
        SCN_CLANG_PUSH
5390
40.8k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5391
5392
40.8k
        switch (m_type) {
5393
36.8k
            case reader_type::word:
5394
36.8k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5395
5396
62
            case reader_type::custom_word:
5397
62
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5398
62
                                                                   value);
5399
5400
0
            case reader_type::character:
5401
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5402
5403
3.74k
            case reader_type::character_set:
5404
3.74k
                return character_set_reader_impl<SourceCharT>{}.read(
5405
3.74k
                    range, specs, value);
5406
5407
0
#if !SCN_DISABLE_REGEX
5408
32
            case reader_type::regex:
5409
32
                return regex_string_reader_impl<SourceCharT>{}.read(
5410
32
                    range, specs.charset_string<SourceCharT>(),
5411
32
                    specs.regexp_flags, value);
5412
5413
130
            case reader_type::regex_escaped:
5414
130
                return regex_string_reader_impl<SourceCharT>{}.read(
5415
130
                    range,
5416
130
                    get_unescaped_regex_pattern(
5417
130
                        specs.charset_string<SourceCharT>()),
5418
130
                    specs.regexp_flags, value);
5419
0
#endif
5420
5421
0
            default:
5422
0
                SCN_EXPECT(false);
5423
40.8k
                SCN_UNREACHABLE;
5424
40.8k
        }
5425
5426
40.8k
        SCN_CLANG_POP
5427
40.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5388
1.13k
    {
5389
1.13k
        SCN_CLANG_PUSH
5390
1.13k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5391
5392
1.13k
        switch (m_type) {
5393
360
            case reader_type::word:
5394
360
                return word_reader_impl<SourceCharT>{}.read(range, value);
5395
5396
126
            case reader_type::custom_word:
5397
126
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5398
126
                                                                   value);
5399
5400
58
            case reader_type::character:
5401
58
                return character_reader_impl<SourceCharT>{}.read(range, value);
5402
5403
302
            case reader_type::character_set:
5404
302
                return character_set_reader_impl<SourceCharT>{}.read(
5405
302
                    range, specs, value);
5406
5407
0
#if !SCN_DISABLE_REGEX
5408
2
            case reader_type::regex:
5409
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5410
2
                    range, specs.charset_string<SourceCharT>(),
5411
2
                    specs.regexp_flags, value);
5412
5413
284
            case reader_type::regex_escaped:
5414
284
                return regex_string_reader_impl<SourceCharT>{}.read(
5415
284
                    range,
5416
284
                    get_unescaped_regex_pattern(
5417
284
                        specs.charset_string<SourceCharT>()),
5418
284
                    specs.regexp_flags, value);
5419
0
#endif
5420
5421
0
            default:
5422
0
                SCN_EXPECT(false);
5423
1.13k
                SCN_UNREACHABLE;
5424
1.13k
        }
5425
5426
1.13k
        SCN_CLANG_POP
5427
1.13k
    }
_ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5388
1.93k
    {
5389
1.93k
        SCN_CLANG_PUSH
5390
1.93k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5391
5392
1.93k
        switch (m_type) {
5393
342
            case reader_type::word:
5394
342
                return word_reader_impl<SourceCharT>{}.read(range, value);
5395
5396
62
            case reader_type::custom_word:
5397
62
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5398
62
                                                                   value);
5399
5400
0
            case reader_type::character:
5401
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5402
5403
1.37k
            case reader_type::character_set:
5404
1.37k
                return character_set_reader_impl<SourceCharT>{}.read(
5405
1.37k
                    range, specs, value);
5406
5407
0
#if !SCN_DISABLE_REGEX
5408
32
            case reader_type::regex:
5409
32
                return regex_string_reader_impl<SourceCharT>{}.read(
5410
32
                    range, specs.charset_string<SourceCharT>(),
5411
32
                    specs.regexp_flags, value);
5412
5413
130
            case reader_type::regex_escaped:
5414
130
                return regex_string_reader_impl<SourceCharT>{}.read(
5415
130
                    range,
5416
130
                    get_unescaped_regex_pattern(
5417
130
                        specs.charset_string<SourceCharT>()),
5418
130
                    specs.regexp_flags, value);
5419
0
#endif
5420
5421
0
            default:
5422
0
                SCN_EXPECT(false);
5423
1.93k
                SCN_UNREACHABLE;
5424
1.93k
        }
5425
5426
1.93k
        SCN_CLANG_POP
5427
1.93k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5388
1.13k
    {
5389
1.13k
        SCN_CLANG_PUSH
5390
1.13k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5391
5392
1.13k
        switch (m_type) {
5393
360
            case reader_type::word:
5394
360
                return word_reader_impl<SourceCharT>{}.read(range, value);
5395
5396
126
            case reader_type::custom_word:
5397
126
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5398
126
                                                                   value);
5399
5400
58
            case reader_type::character:
5401
58
                return character_reader_impl<SourceCharT>{}.read(range, value);
5402
5403
302
            case reader_type::character_set:
5404
302
                return character_set_reader_impl<SourceCharT>{}.read(
5405
302
                    range, specs, value);
5406
5407
0
#if !SCN_DISABLE_REGEX
5408
2
            case reader_type::regex:
5409
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5410
2
                    range, specs.charset_string<SourceCharT>(),
5411
2
                    specs.regexp_flags, value);
5412
5413
284
            case reader_type::regex_escaped:
5414
284
                return regex_string_reader_impl<SourceCharT>{}.read(
5415
284
                    range,
5416
284
                    get_unescaped_regex_pattern(
5417
284
                        specs.charset_string<SourceCharT>()),
5418
284
                    specs.regexp_flags, value);
5419
0
#endif
5420
5421
0
            default:
5422
0
                SCN_EXPECT(false);
5423
1.13k
                SCN_UNREACHABLE;
5424
1.13k
        }
5425
5426
1.13k
        SCN_CLANG_POP
5427
1.13k
    }
_ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5388
40.8k
    {
5389
40.8k
        SCN_CLANG_PUSH
5390
40.8k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5391
5392
40.8k
        switch (m_type) {
5393
36.8k
            case reader_type::word:
5394
36.8k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5395
5396
62
            case reader_type::custom_word:
5397
62
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5398
62
                                                                   value);
5399
5400
0
            case reader_type::character:
5401
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5402
5403
3.74k
            case reader_type::character_set:
5404
3.74k
                return character_set_reader_impl<SourceCharT>{}.read(
5405
3.74k
                    range, specs, value);
5406
5407
0
#if !SCN_DISABLE_REGEX
5408
32
            case reader_type::regex:
5409
32
                return regex_string_reader_impl<SourceCharT>{}.read(
5410
32
                    range, specs.charset_string<SourceCharT>(),
5411
32
                    specs.regexp_flags, value);
5412
5413
130
            case reader_type::regex_escaped:
5414
130
                return regex_string_reader_impl<SourceCharT>{}.read(
5415
130
                    range,
5416
130
                    get_unescaped_regex_pattern(
5417
130
                        specs.charset_string<SourceCharT>()),
5418
130
                    specs.regexp_flags, value);
5419
0
#endif
5420
5421
0
            default:
5422
0
                SCN_EXPECT(false);
5423
40.8k
                SCN_UNREACHABLE;
5424
40.8k
        }
5425
5426
40.8k
        SCN_CLANG_POP
5427
40.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5388
474
    {
5389
474
        SCN_CLANG_PUSH
5390
474
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5391
5392
474
        switch (m_type) {
5393
208
            case reader_type::word:
5394
208
                return word_reader_impl<SourceCharT>{}.read(range, value);
5395
5396
44
            case reader_type::custom_word:
5397
44
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5398
44
                                                                   value);
5399
5400
26
            case reader_type::character:
5401
26
                return character_reader_impl<SourceCharT>{}.read(range, value);
5402
5403
196
            case reader_type::character_set:
5404
196
                return character_set_reader_impl<SourceCharT>{}.read(
5405
196
                    range, specs, value);
5406
5407
0
#if !SCN_DISABLE_REGEX
5408
0
            case reader_type::regex:
5409
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5410
0
                    range, specs.charset_string<SourceCharT>(),
5411
0
                    specs.regexp_flags, value);
5412
5413
0
            case reader_type::regex_escaped:
5414
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5415
0
                    range,
5416
0
                    get_unescaped_regex_pattern(
5417
0
                        specs.charset_string<SourceCharT>()),
5418
0
                    specs.regexp_flags, value);
5419
0
#endif
5420
5421
0
            default:
5422
0
                SCN_EXPECT(false);
5423
474
                SCN_UNREACHABLE;
5424
474
        }
5425
5426
474
        SCN_CLANG_POP
5427
474
    }
_ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5388
710
    {
5389
710
        SCN_CLANG_PUSH
5390
710
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5391
5392
710
        switch (m_type) {
5393
424
            case reader_type::word:
5394
424
                return word_reader_impl<SourceCharT>{}.read(range, value);
5395
5396
38
            case reader_type::custom_word:
5397
38
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5398
38
                                                                   value);
5399
5400
0
            case reader_type::character:
5401
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5402
5403
248
            case reader_type::character_set:
5404
248
                return character_set_reader_impl<SourceCharT>{}.read(
5405
248
                    range, specs, value);
5406
5407
0
#if !SCN_DISABLE_REGEX
5408
0
            case reader_type::regex:
5409
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5410
0
                    range, specs.charset_string<SourceCharT>(),
5411
0
                    specs.regexp_flags, value);
5412
5413
0
            case reader_type::regex_escaped:
5414
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5415
0
                    range,
5416
0
                    get_unescaped_regex_pattern(
5417
0
                        specs.charset_string<SourceCharT>()),
5418
0
                    specs.regexp_flags, value);
5419
0
#endif
5420
5421
0
            default:
5422
0
                SCN_EXPECT(false);
5423
710
                SCN_UNREACHABLE;
5424
710
        }
5425
5426
710
        SCN_CLANG_POP
5427
710
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
_ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
Line
Count
Source
5388
275k
    {
5389
275k
        SCN_CLANG_PUSH
5390
275k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5391
5392
275k
        switch (m_type) {
5393
271k
            case reader_type::word:
5394
271k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5395
5396
0
            case reader_type::custom_word:
5397
0
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5398
0
                                                                   value);
5399
5400
0
            case reader_type::character:
5401
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5402
5403
3.56k
            case reader_type::character_set:
5404
3.56k
                return character_set_reader_impl<SourceCharT>{}.read(
5405
3.56k
                    range, specs, value);
5406
5407
0
#if !SCN_DISABLE_REGEX
5408
0
            case reader_type::regex:
5409
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5410
0
                    range, specs.charset_string<SourceCharT>(),
5411
0
                    specs.regexp_flags, value);
5412
5413
0
            case reader_type::regex_escaped:
5414
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5415
0
                    range,
5416
0
                    get_unescaped_regex_pattern(
5417
0
                        specs.charset_string<SourceCharT>()),
5418
0
                    specs.regexp_flags, value);
5419
0
#endif
5420
5421
0
            default:
5422
0
                SCN_EXPECT(false);
5423
275k
                SCN_UNREACHABLE;
5424
275k
        }
5425
5426
275k
        SCN_CLANG_POP
5427
275k
    }
_ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5388
474
    {
5389
474
        SCN_CLANG_PUSH
5390
474
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5391
5392
474
        switch (m_type) {
5393
208
            case reader_type::word:
5394
208
                return word_reader_impl<SourceCharT>{}.read(range, value);
5395
5396
44
            case reader_type::custom_word:
5397
44
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5398
44
                                                                   value);
5399
5400
26
            case reader_type::character:
5401
26
                return character_reader_impl<SourceCharT>{}.read(range, value);
5402
5403
196
            case reader_type::character_set:
5404
196
                return character_set_reader_impl<SourceCharT>{}.read(
5405
196
                    range, specs, value);
5406
5407
0
#if !SCN_DISABLE_REGEX
5408
0
            case reader_type::regex:
5409
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5410
0
                    range, specs.charset_string<SourceCharT>(),
5411
0
                    specs.regexp_flags, value);
5412
5413
0
            case reader_type::regex_escaped:
5414
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5415
0
                    range,
5416
0
                    get_unescaped_regex_pattern(
5417
0
                        specs.charset_string<SourceCharT>()),
5418
0
                    specs.regexp_flags, value);
5419
0
#endif
5420
5421
0
            default:
5422
0
                SCN_EXPECT(false);
5423
474
                SCN_UNREACHABLE;
5424
474
        }
5425
5426
474
        SCN_CLANG_POP
5427
474
    }
_ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5388
276k
    {
5389
276k
        SCN_CLANG_PUSH
5390
276k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5391
5392
276k
        switch (m_type) {
5393
272k
            case reader_type::word:
5394
272k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5395
5396
38
            case reader_type::custom_word:
5397
38
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5398
38
                                                                   value);
5399
5400
0
            case reader_type::character:
5401
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5402
5403
3.80k
            case reader_type::character_set:
5404
3.80k
                return character_set_reader_impl<SourceCharT>{}.read(
5405
3.80k
                    range, specs, value);
5406
5407
0
#if !SCN_DISABLE_REGEX
5408
0
            case reader_type::regex:
5409
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5410
0
                    range, specs.charset_string<SourceCharT>(),
5411
0
                    specs.regexp_flags, value);
5412
5413
0
            case reader_type::regex_escaped:
5414
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5415
0
                    range,
5416
0
                    get_unescaped_regex_pattern(
5417
0
                        specs.charset_string<SourceCharT>()),
5418
0
                    specs.regexp_flags, value);
5419
0
#endif
5420
5421
0
            default:
5422
0
                SCN_EXPECT(false);
5423
276k
                SCN_UNREACHABLE;
5424
276k
        }
5425
5426
276k
        SCN_CLANG_POP
5427
276k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5388
474
    {
5389
474
        SCN_CLANG_PUSH
5390
474
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5391
5392
474
        switch (m_type) {
5393
208
            case reader_type::word:
5394
208
                return word_reader_impl<SourceCharT>{}.read(range, value);
5395
5396
44
            case reader_type::custom_word:
5397
44
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5398
44
                                                                   value);
5399
5400
26
            case reader_type::character:
5401
26
                return character_reader_impl<SourceCharT>{}.read(range, value);
5402
5403
196
            case reader_type::character_set:
5404
196
                return character_set_reader_impl<SourceCharT>{}.read(
5405
196
                    range, specs, value);
5406
5407
0
#if !SCN_DISABLE_REGEX
5408
0
            case reader_type::regex:
5409
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5410
0
                    range, specs.charset_string<SourceCharT>(),
5411
0
                    specs.regexp_flags, value);
5412
5413
0
            case reader_type::regex_escaped:
5414
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5415
0
                    range,
5416
0
                    get_unescaped_regex_pattern(
5417
0
                        specs.charset_string<SourceCharT>()),
5418
0
                    specs.regexp_flags, value);
5419
0
#endif
5420
5421
0
            default:
5422
0
                SCN_EXPECT(false);
5423
474
                SCN_UNREACHABLE;
5424
474
        }
5425
5426
474
        SCN_CLANG_POP
5427
474
    }
_ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5388
276k
    {
5389
276k
        SCN_CLANG_PUSH
5390
276k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5391
5392
276k
        switch (m_type) {
5393
272k
            case reader_type::word:
5394
272k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5395
5396
38
            case reader_type::custom_word:
5397
38
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5398
38
                                                                   value);
5399
5400
0
            case reader_type::character:
5401
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5402
5403
3.80k
            case reader_type::character_set:
5404
3.80k
                return character_set_reader_impl<SourceCharT>{}.read(
5405
3.80k
                    range, specs, value);
5406
5407
0
#if !SCN_DISABLE_REGEX
5408
0
            case reader_type::regex:
5409
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5410
0
                    range, specs.charset_string<SourceCharT>(),
5411
0
                    specs.regexp_flags, value);
5412
5413
0
            case reader_type::regex_escaped:
5414
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5415
0
                    range,
5416
0
                    get_unescaped_regex_pattern(
5417
0
                        specs.charset_string<SourceCharT>()),
5418
0
                    specs.regexp_flags, value);
5419
0
#endif
5420
5421
0
            default:
5422
0
                SCN_EXPECT(false);
5423
276k
                SCN_UNREACHABLE;
5424
276k
        }
5425
5426
276k
        SCN_CLANG_POP
5427
276k
    }
5428
5429
    reader_type m_type{reader_type::word};
5430
};
5431
5432
template <typename SourceCharT>
5433
class reader_impl_for_string : public string_reader<SourceCharT> {};
5434
5435
/////////////////////////////////////////////////////////////////
5436
// Boolean reader
5437
/////////////////////////////////////////////////////////////////
5438
5439
struct bool_reader_base {
5440
    enum options_type { allow_text = 1, allow_numeric = 2 };
5441
5442
1.21k
    constexpr bool_reader_base() = default;
5443
1.84k
    constexpr bool_reader_base(unsigned opt) : m_options(opt) {}
5444
5445
    template <typename Range>
5446
    auto read_classic(Range range, bool& value) const
5447
        -> scan_expected<ranges::const_iterator_t<Range>>
5448
2.95k
    {
5449
2.95k
        scan_error err{scan_error::invalid_scanned_value,
5450
2.95k
                       "Failed to read boolean"};
5451
5452
2.95k
        if (m_options & allow_numeric) {
5453
2.56k
            if (auto r = read_numeric(range, value)) {
5454
60
                return *r;
5455
60
            }
5456
2.50k
            else {
5457
2.50k
                err = r.error();
5458
2.50k
            }
5459
2.56k
        }
5460
5461
2.89k
        if (m_options & allow_text) {
5462
2.77k
            if (auto r = read_textual_classic(range, value)) {
5463
0
                return *r;
5464
0
            }
5465
2.77k
            else {
5466
2.77k
                err = r.error();
5467
2.77k
            }
5468
2.77k
        }
5469
5470
2.89k
        return unexpected(err);
5471
2.89k
    }
_ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5448
1.06k
    {
5449
1.06k
        scan_error err{scan_error::invalid_scanned_value,
5450
1.06k
                       "Failed to read boolean"};
5451
5452
1.06k
        if (m_options & allow_numeric) {
5453
924
            if (auto r = read_numeric(range, value)) {
5454
0
                return *r;
5455
0
            }
5456
924
            else {
5457
924
                err = r.error();
5458
924
            }
5459
924
        }
5460
5461
1.06k
        if (m_options & allow_text) {
5462
1.04k
            if (auto r = read_textual_classic(range, value)) {
5463
0
                return *r;
5464
0
            }
5465
1.04k
            else {
5466
1.04k
                err = r.error();
5467
1.04k
            }
5468
1.04k
        }
5469
5470
1.06k
        return unexpected(err);
5471
1.06k
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5448
514
    {
5449
514
        scan_error err{scan_error::invalid_scanned_value,
5450
514
                       "Failed to read boolean"};
5451
5452
514
        if (m_options & allow_numeric) {
5453
380
            if (auto r = read_numeric(range, value)) {
5454
0
                return *r;
5455
0
            }
5456
380
            else {
5457
380
                err = r.error();
5458
380
            }
5459
380
        }
5460
5461
514
        if (m_options & allow_text) {
5462
486
            if (auto r = read_textual_classic(range, value)) {
5463
0
                return *r;
5464
0
            }
5465
486
            else {
5466
486
                err = r.error();
5467
486
            }
5468
486
        }
5469
5470
514
        return unexpected(err);
5471
514
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5448
1.09k
    {
5449
1.09k
        scan_error err{scan_error::invalid_scanned_value,
5450
1.09k
                       "Failed to read boolean"};
5451
5452
1.09k
        if (m_options & allow_numeric) {
5453
1.03k
            if (auto r = read_numeric(range, value)) {
5454
42
                return *r;
5455
42
            }
5456
990
            else {
5457
990
                err = r.error();
5458
990
            }
5459
1.03k
        }
5460
5461
1.04k
        if (m_options & allow_text) {
5462
1.00k
            if (auto r = read_textual_classic(range, value)) {
5463
0
                return *r;
5464
0
            }
5465
1.00k
            else {
5466
1.00k
                err = r.error();
5467
1.00k
            }
5468
1.00k
        }
5469
5470
1.04k
        return unexpected(err);
5471
1.04k
    }
_ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5448
286
    {
5449
286
        scan_error err{scan_error::invalid_scanned_value,
5450
286
                       "Failed to read boolean"};
5451
5452
286
        if (m_options & allow_numeric) {
5453
232
            if (auto r = read_numeric(range, value)) {
5454
18
                return *r;
5455
18
            }
5456
214
            else {
5457
214
                err = r.error();
5458
214
            }
5459
232
        }
5460
5461
268
        if (m_options & allow_text) {
5462
244
            if (auto r = read_textual_classic(range, value)) {
5463
0
                return *r;
5464
0
            }
5465
244
            else {
5466
244
                err = r.error();
5467
244
            }
5468
244
        }
5469
5470
268
        return unexpected(err);
5471
268
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5472
5473
protected:
5474
    template <typename Range>
5475
    auto read_numeric(Range range, bool& value) const
5476
        -> scan_expected<ranges::const_iterator_t<Range>>
5477
2.65k
    {
5478
2.65k
        if (auto r = read_matching_code_unit(range, '0')) {
5479
70
            value = false;
5480
70
            return *r;
5481
70
        }
5482
2.58k
        if (auto r = read_matching_code_unit(range, '1')) {
5483
0
            value = true;
5484
0
            return *r;
5485
0
        }
5486
5487
2.58k
        return detail::unexpected_scan_error(
5488
2.58k
            scan_error::invalid_scanned_value,
5489
2.58k
            "Failed to read numeric boolean value: No match");
5490
2.58k
    }
_ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5477
940
    {
5478
940
        if (auto r = read_matching_code_unit(range, '0')) {
5479
0
            value = false;
5480
0
            return *r;
5481
0
        }
5482
940
        if (auto r = read_matching_code_unit(range, '1')) {
5483
0
            value = true;
5484
0
            return *r;
5485
0
        }
5486
5487
940
        return detail::unexpected_scan_error(
5488
940
            scan_error::invalid_scanned_value,
5489
940
            "Failed to read numeric boolean value: No match");
5490
940
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5477
396
    {
5478
396
        if (auto r = read_matching_code_unit(range, '0')) {
5479
0
            value = false;
5480
0
            return *r;
5481
0
        }
5482
396
        if (auto r = read_matching_code_unit(range, '1')) {
5483
0
            value = true;
5484
0
            return *r;
5485
0
        }
5486
5487
396
        return detail::unexpected_scan_error(
5488
396
            scan_error::invalid_scanned_value,
5489
396
            "Failed to read numeric boolean value: No match");
5490
396
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5477
1.06k
    {
5478
1.06k
        if (auto r = read_matching_code_unit(range, '0')) {
5479
48
            value = false;
5480
48
            return *r;
5481
48
        }
5482
1.01k
        if (auto r = read_matching_code_unit(range, '1')) {
5483
0
            value = true;
5484
0
            return *r;
5485
0
        }
5486
5487
1.01k
        return detail::unexpected_scan_error(
5488
1.01k
            scan_error::invalid_scanned_value,
5489
1.01k
            "Failed to read numeric boolean value: No match");
5490
1.01k
    }
_ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5477
258
    {
5478
258
        if (auto r = read_matching_code_unit(range, '0')) {
5479
22
            value = false;
5480
22
            return *r;
5481
22
        }
5482
236
        if (auto r = read_matching_code_unit(range, '1')) {
5483
0
            value = true;
5484
0
            return *r;
5485
0
        }
5486
5487
236
        return detail::unexpected_scan_error(
5488
236
            scan_error::invalid_scanned_value,
5489
236
            "Failed to read numeric boolean value: No match");
5490
236
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5491
5492
    template <typename Range>
5493
    auto read_textual_classic(Range range, bool& value) const
5494
        -> scan_expected<ranges::const_iterator_t<Range>>
5495
2.77k
    {
5496
2.77k
        if (auto r = read_matching_string_classic(range, "true")) {
5497
0
            value = true;
5498
0
            return *r;
5499
0
        }
5500
2.77k
        if (auto r = read_matching_string_classic(range, "false")) {
5501
0
            value = false;
5502
0
            return *r;
5503
0
        }
5504
5505
2.77k
        return detail::unexpected_scan_error(
5506
2.77k
            scan_error::invalid_scanned_value,
5507
2.77k
            "Failed to read textual boolean value: No match");
5508
2.77k
    }
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5495
1.04k
    {
5496
1.04k
        if (auto r = read_matching_string_classic(range, "true")) {
5497
0
            value = true;
5498
0
            return *r;
5499
0
        }
5500
1.04k
        if (auto r = read_matching_string_classic(range, "false")) {
5501
0
            value = false;
5502
0
            return *r;
5503
0
        }
5504
5505
1.04k
        return detail::unexpected_scan_error(
5506
1.04k
            scan_error::invalid_scanned_value,
5507
1.04k
            "Failed to read textual boolean value: No match");
5508
1.04k
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5495
486
    {
5496
486
        if (auto r = read_matching_string_classic(range, "true")) {
5497
0
            value = true;
5498
0
            return *r;
5499
0
        }
5500
486
        if (auto r = read_matching_string_classic(range, "false")) {
5501
0
            value = false;
5502
0
            return *r;
5503
0
        }
5504
5505
486
        return detail::unexpected_scan_error(
5506
486
            scan_error::invalid_scanned_value,
5507
486
            "Failed to read textual boolean value: No match");
5508
486
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5495
1.00k
    {
5496
1.00k
        if (auto r = read_matching_string_classic(range, "true")) {
5497
0
            value = true;
5498
0
            return *r;
5499
0
        }
5500
1.00k
        if (auto r = read_matching_string_classic(range, "false")) {
5501
0
            value = false;
5502
0
            return *r;
5503
0
        }
5504
5505
1.00k
        return detail::unexpected_scan_error(
5506
1.00k
            scan_error::invalid_scanned_value,
5507
1.00k
            "Failed to read textual boolean value: No match");
5508
1.00k
    }
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5495
244
    {
5496
244
        if (auto r = read_matching_string_classic(range, "true")) {
5497
0
            value = true;
5498
0
            return *r;
5499
0
        }
5500
244
        if (auto r = read_matching_string_classic(range, "false")) {
5501
0
            value = false;
5502
0
            return *r;
5503
0
        }
5504
5505
244
        return detail::unexpected_scan_error(
5506
244
            scan_error::invalid_scanned_value,
5507
244
            "Failed to read textual boolean value: No match");
5508
244
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5509
5510
    unsigned m_options{allow_text | allow_numeric};
5511
};
5512
5513
template <typename CharT>
5514
struct bool_reader : public bool_reader_base {
5515
    using bool_reader_base::bool_reader_base;
5516
5517
#if !SCN_DISABLE_LOCALE
5518
    template <typename Range>
5519
    auto read_localized(Range range, detail::locale_ref loc, bool& value) const
5520
        -> scan_expected<ranges::const_iterator_t<Range>>
5521
104
    {
5522
104
        scan_error err{scan_error::invalid_scanned_value,
5523
104
                       "Failed to read boolean"};
5524
5525
104
        if (m_options & allow_numeric) {
5526
88
            if (auto r = read_numeric(range, value)) {
5527
10
                return *r;
5528
10
            }
5529
78
            else {
5530
78
                err = r.error();
5531
78
            }
5532
88
        }
5533
5534
94
        if (m_options & allow_text) {
5535
58
            auto stdloc = loc.get<std::locale>();
5536
58
            const auto& numpunct =
5537
58
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5538
58
            const auto truename = numpunct.truename();
5539
58
            const auto falsename = numpunct.falsename();
5540
5541
58
            if (auto r =
5542
58
                    read_textual_custom(range, value, truename, falsename)) {
5543
0
                return *r;
5544
0
            }
5545
58
            else {
5546
58
                err = r.error();
5547
58
            }
5548
58
        }
5549
5550
94
        return unexpected(err);
5551
94
    }
_ZNK3scn2v44impl11bool_readerIcE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refERb
Line
Count
Source
5521
20
    {
5522
20
        scan_error err{scan_error::invalid_scanned_value,
5523
20
                       "Failed to read boolean"};
5524
5525
20
        if (m_options & allow_numeric) {
5526
16
            if (auto r = read_numeric(range, value)) {
5527
0
                return *r;
5528
0
            }
5529
16
            else {
5530
16
                err = r.error();
5531
16
            }
5532
16
        }
5533
5534
20
        if (m_options & allow_text) {
5535
16
            auto stdloc = loc.get<std::locale>();
5536
16
            const auto& numpunct =
5537
16
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5538
16
            const auto truename = numpunct.truename();
5539
16
            const auto falsename = numpunct.falsename();
5540
5541
16
            if (auto r =
5542
16
                    read_textual_custom(range, value, truename, falsename)) {
5543
0
                return *r;
5544
0
            }
5545
16
            else {
5546
16
                err = r.error();
5547
16
            }
5548
16
        }
5549
5550
20
        return unexpected(err);
5551
20
    }
_ZNK3scn2v44impl11bool_readerIcE14read_localizedINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refERb
Line
Count
Source
5521
24
    {
5522
24
        scan_error err{scan_error::invalid_scanned_value,
5523
24
                       "Failed to read boolean"};
5524
5525
24
        if (m_options & allow_numeric) {
5526
16
            if (auto r = read_numeric(range, value)) {
5527
0
                return *r;
5528
0
            }
5529
16
            else {
5530
16
                err = r.error();
5531
16
            }
5532
16
        }
5533
5534
24
        if (m_options & allow_text) {
5535
14
            auto stdloc = loc.get<std::locale>();
5536
14
            const auto& numpunct =
5537
14
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5538
14
            const auto truename = numpunct.truename();
5539
14
            const auto falsename = numpunct.falsename();
5540
5541
14
            if (auto r =
5542
14
                    read_textual_custom(range, value, truename, falsename)) {
5543
0
                return *r;
5544
0
            }
5545
14
            else {
5546
14
                err = r.error();
5547
14
            }
5548
14
        }
5549
5550
24
        return unexpected(err);
5551
24
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE14read_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refERb
_ZNK3scn2v44impl11bool_readerIwE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refERb
Line
Count
Source
5521
28
    {
5522
28
        scan_error err{scan_error::invalid_scanned_value,
5523
28
                       "Failed to read boolean"};
5524
5525
28
        if (m_options & allow_numeric) {
5526
26
            if (auto r = read_numeric(range, value)) {
5527
4
                return *r;
5528
4
            }
5529
22
            else {
5530
22
                err = r.error();
5531
22
            }
5532
26
        }
5533
5534
24
        if (m_options & allow_text) {
5535
14
            auto stdloc = loc.get<std::locale>();
5536
14
            const auto& numpunct =
5537
14
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5538
14
            const auto truename = numpunct.truename();
5539
14
            const auto falsename = numpunct.falsename();
5540
5541
14
            if (auto r =
5542
14
                    read_textual_custom(range, value, truename, falsename)) {
5543
0
                return *r;
5544
0
            }
5545
14
            else {
5546
14
                err = r.error();
5547
14
            }
5548
14
        }
5549
5550
24
        return unexpected(err);
5551
24
    }
_ZNK3scn2v44impl11bool_readerIwE14read_localizedINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refERb
Line
Count
Source
5521
32
    {
5522
32
        scan_error err{scan_error::invalid_scanned_value,
5523
32
                       "Failed to read boolean"};
5524
5525
32
        if (m_options & allow_numeric) {
5526
30
            if (auto r = read_numeric(range, value)) {
5527
6
                return *r;
5528
6
            }
5529
24
            else {
5530
24
                err = r.error();
5531
24
            }
5532
30
        }
5533
5534
26
        if (m_options & allow_text) {
5535
14
            auto stdloc = loc.get<std::locale>();
5536
14
            const auto& numpunct =
5537
14
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5538
14
            const auto truename = numpunct.truename();
5539
14
            const auto falsename = numpunct.falsename();
5540
5541
14
            if (auto r =
5542
14
                    read_textual_custom(range, value, truename, falsename)) {
5543
0
                return *r;
5544
0
            }
5545
14
            else {
5546
14
                err = r.error();
5547
14
            }
5548
14
        }
5549
5550
26
        return unexpected(err);
5551
26
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE14read_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refERb
5552
#endif
5553
5554
protected:
5555
    template <typename Range>
5556
    auto read_textual_custom(Range range,
5557
                             bool& value,
5558
                             std::basic_string_view<CharT> truename,
5559
                             std::basic_string_view<CharT> falsename) const
5560
        -> scan_expected<ranges::const_iterator_t<Range>>
5561
58
    {
5562
58
        const auto is_truename_shorter = truename.size() <= falsename.size();
5563
58
        const auto shorter = std::pair{
5564
58
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5565
58
        const auto longer = std::pair{
5566
58
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5567
5568
58
        if (auto r = read_matching_string(range, shorter.first)) {
5569
0
            value = shorter.second;
5570
0
            return *r;
5571
0
        }
5572
58
        if (auto r = read_matching_string(range, longer.first)) {
5573
0
            value = longer.second;
5574
0
            return *r;
5575
0
        }
5576
5577
58
        return detail::unexpected_scan_error(
5578
58
            scan_error::invalid_scanned_value,
5579
58
            "Failed to read textual boolean: No match");
5580
58
    }
_ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RbNSF_17basic_string_viewIcNSF_11char_traitsIcEEEESR_
Line
Count
Source
5561
16
    {
5562
16
        const auto is_truename_shorter = truename.size() <= falsename.size();
5563
16
        const auto shorter = std::pair{
5564
16
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5565
16
        const auto longer = std::pair{
5566
16
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5567
5568
16
        if (auto r = read_matching_string(range, shorter.first)) {
5569
0
            value = shorter.second;
5570
0
            return *r;
5571
0
        }
5572
16
        if (auto r = read_matching_string(range, longer.first)) {
5573
0
            value = longer.second;
5574
0
            return *r;
5575
0
        }
5576
5577
16
        return detail::unexpected_scan_error(
5578
16
            scan_error::invalid_scanned_value,
5579
16
            "Failed to read textual boolean: No match");
5580
16
    }
_ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNSD_17basic_string_viewIcNSD_11char_traitsIcEEEESP_
Line
Count
Source
5561
14
    {
5562
14
        const auto is_truename_shorter = truename.size() <= falsename.size();
5563
14
        const auto shorter = std::pair{
5564
14
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5565
14
        const auto longer = std::pair{
5566
14
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5567
5568
14
        if (auto r = read_matching_string(range, shorter.first)) {
5569
0
            value = shorter.second;
5570
0
            return *r;
5571
0
        }
5572
14
        if (auto r = read_matching_string(range, longer.first)) {
5573
0
            value = longer.second;
5574
0
            return *r;
5575
0
        }
5576
5577
14
        return detail::unexpected_scan_error(
5578
14
            scan_error::invalid_scanned_value,
5579
14
            "Failed to read textual boolean: No match");
5580
14
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RbNSI_17basic_string_viewIcNSI_11char_traitsIcEEEESU_
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNSG_17basic_string_viewIcNSG_11char_traitsIcEEEESS_
_ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RbNSF_17basic_string_viewIwNSF_11char_traitsIwEEEESR_
Line
Count
Source
5561
14
    {
5562
14
        const auto is_truename_shorter = truename.size() <= falsename.size();
5563
14
        const auto shorter = std::pair{
5564
14
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5565
14
        const auto longer = std::pair{
5566
14
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5567
5568
14
        if (auto r = read_matching_string(range, shorter.first)) {
5569
0
            value = shorter.second;
5570
0
            return *r;
5571
0
        }
5572
14
        if (auto r = read_matching_string(range, longer.first)) {
5573
0
            value = longer.second;
5574
0
            return *r;
5575
0
        }
5576
5577
14
        return detail::unexpected_scan_error(
5578
14
            scan_error::invalid_scanned_value,
5579
14
            "Failed to read textual boolean: No match");
5580
14
    }
_ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNSD_17basic_string_viewIwNSD_11char_traitsIwEEEESP_
Line
Count
Source
5561
14
    {
5562
14
        const auto is_truename_shorter = truename.size() <= falsename.size();
5563
14
        const auto shorter = std::pair{
5564
14
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5565
14
        const auto longer = std::pair{
5566
14
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5567
5568
14
        if (auto r = read_matching_string(range, shorter.first)) {
5569
0
            value = shorter.second;
5570
0
            return *r;
5571
0
        }
5572
14
        if (auto r = read_matching_string(range, longer.first)) {
5573
0
            value = longer.second;
5574
0
            return *r;
5575
0
        }
5576
5577
14
        return detail::unexpected_scan_error(
5578
14
            scan_error::invalid_scanned_value,
5579
14
            "Failed to read textual boolean: No match");
5580
14
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RbNSI_17basic_string_viewIwNSI_11char_traitsIwEEEESU_
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNSG_17basic_string_viewIwNSG_11char_traitsIwEEEESS_
5581
};
5582
5583
template <typename CharT>
5584
class reader_impl_for_bool
5585
    : public reader_base<reader_impl_for_bool<CharT>, CharT> {
5586
public:
5587
    reader_impl_for_bool() = default;
5588
5589
    void check_specs_impl(const detail::format_specs& specs,
5590
                          reader_error_handler& eh)
5591
4.81k
    {
5592
4.81k
        detail::check_bool_type_specs(specs, eh);
5593
4.81k
    }
scn::v4::impl::reader_impl_for_bool<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5591
3.30k
    {
5592
3.30k
        detail::check_bool_type_specs(specs, eh);
5593
3.30k
    }
scn::v4::impl::reader_impl_for_bool<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5591
1.51k
    {
5592
1.51k
        detail::check_bool_type_specs(specs, eh);
5593
1.51k
    }
5594
5595
    template <typename Range>
5596
    auto read_default(Range range, bool& value, detail::locale_ref loc) const
5597
        -> scan_expected<ranges::const_iterator_t<Range>>
5598
1.21k
    {
5599
1.21k
        SCN_UNUSED(loc);
5600
5601
1.21k
        return bool_reader<CharT>{}.read_classic(range, value);
5602
1.21k
    }
_ZNK3scn2v44impl20reader_impl_for_boolIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNS0_6detail10locale_refE
Line
Count
Source
5598
636
    {
5599
636
        SCN_UNUSED(loc);
5600
5601
636
        return bool_reader<CharT>{}.read_classic(range, value);
5602
636
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNS9_10locale_refE
_ZNK3scn2v44impl20reader_impl_for_boolIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNS0_6detail10locale_refE
Line
Count
Source
5598
576
    {
5599
576
        SCN_UNUSED(loc);
5600
5601
576
        return bool_reader<CharT>{}.read_classic(range, value);
5602
576
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNS9_10locale_refE
5603
5604
    template <typename Range>
5605
    auto read_specs(Range range,
5606
                    const detail::format_specs& specs,
5607
                    bool& value,
5608
                    detail::locale_ref loc) const
5609
        -> scan_expected<ranges::const_iterator_t<Range>>
5610
1.84k
    {
5611
1.84k
        const auto rd = bool_reader<CharT>{get_options(specs)};
5612
5613
1.84k
#if !SCN_DISABLE_LOCALE
5614
1.84k
        if (specs.localized) {
5615
104
            return rd.read_localized(range, loc, value);
5616
104
        }
5617
1.74k
#endif
5618
5619
1.74k
        return rd.read_classic(range, value);
5620
1.84k
    }
_ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERbNSN_10locale_refE
Line
Count
Source
5610
534
    {
5611
534
        const auto rd = bool_reader<CharT>{get_options(specs)};
5612
5613
534
#if !SCN_DISABLE_LOCALE
5614
534
        if (specs.localized) {
5615
20
            return rd.read_localized(range, loc, value);
5616
20
        }
5617
514
#endif
5618
5619
514
        return rd.read_classic(range, value);
5620
534
    }
_ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERbNSL_10locale_refE
Line
Count
Source
5610
450
    {
5611
450
        const auto rd = bool_reader<CharT>{get_options(specs)};
5612
5613
450
#if !SCN_DISABLE_LOCALE
5614
450
        if (specs.localized) {
5615
24
            return rd.read_localized(range, loc, value);
5616
24
        }
5617
426
#endif
5618
5619
426
        return rd.read_classic(range, value);
5620
450
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERbNSA_10locale_refE
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERbNS9_10locale_refE
_ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERbNSN_10locale_refE
Line
Count
Source
5610
314
    {
5611
314
        const auto rd = bool_reader<CharT>{get_options(specs)};
5612
5613
314
#if !SCN_DISABLE_LOCALE
5614
314
        if (specs.localized) {
5615
28
            return rd.read_localized(range, loc, value);
5616
28
        }
5617
286
#endif
5618
5619
286
        return rd.read_classic(range, value);
5620
314
    }
_ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERbNSL_10locale_refE
Line
Count
Source
5610
546
    {
5611
546
        const auto rd = bool_reader<CharT>{get_options(specs)};
5612
5613
546
#if !SCN_DISABLE_LOCALE
5614
546
        if (specs.localized) {
5615
32
            return rd.read_localized(range, loc, value);
5616
32
        }
5617
514
#endif
5618
5619
514
        return rd.read_classic(range, value);
5620
546
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERbNSA_10locale_refE
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERbNS9_10locale_refE
5621
5622
    static constexpr unsigned get_options(const detail::format_specs& specs)
5623
1.84k
    {
5624
1.84k
        SCN_GCC_COMPAT_PUSH
5625
1.84k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5626
5627
1.84k
        switch (specs.type) {
5628
400
            case detail::presentation_type::string:
5629
400
                return bool_reader_base::allow_text;
5630
5631
38
            case detail::presentation_type::int_generic:
5632
74
            case detail::presentation_type::int_binary:
5633
88
            case detail::presentation_type::int_decimal:
5634
114
            case detail::presentation_type::int_hex:
5635
150
            case detail::presentation_type::int_octal:
5636
174
            case detail::presentation_type::int_unsigned_decimal:
5637
174
                return bool_reader_base::allow_numeric;
5638
5639
1.27k
            default:
5640
1.27k
                return bool_reader_base::allow_text |
5641
1.27k
                       bool_reader_base::allow_numeric;
5642
1.84k
        }
5643
5644
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5645
1.84k
    }
scn::v4::impl::reader_impl_for_bool<char>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
5623
984
    {
5624
984
        SCN_GCC_COMPAT_PUSH
5625
984
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5626
5627
984
        switch (specs.type) {
5628
284
            case detail::presentation_type::string:
5629
284
                return bool_reader_base::allow_text;
5630
5631
14
            case detail::presentation_type::int_generic:
5632
26
            case detail::presentation_type::int_binary:
5633
32
            case detail::presentation_type::int_decimal:
5634
42
            case detail::presentation_type::int_hex:
5635
58
            case detail::presentation_type::int_octal:
5636
64
            case detail::presentation_type::int_unsigned_decimal:
5637
64
                return bool_reader_base::allow_numeric;
5638
5639
636
            default:
5640
636
                return bool_reader_base::allow_text |
5641
636
                       bool_reader_base::allow_numeric;
5642
984
        }
5643
5644
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5645
984
    }
scn::v4::impl::reader_impl_for_bool<wchar_t>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
5623
860
    {
5624
860
        SCN_GCC_COMPAT_PUSH
5625
860
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5626
5627
860
        switch (specs.type) {
5628
116
            case detail::presentation_type::string:
5629
116
                return bool_reader_base::allow_text;
5630
5631
24
            case detail::presentation_type::int_generic:
5632
48
            case detail::presentation_type::int_binary:
5633
56
            case detail::presentation_type::int_decimal:
5634
72
            case detail::presentation_type::int_hex:
5635
92
            case detail::presentation_type::int_octal:
5636
110
            case detail::presentation_type::int_unsigned_decimal:
5637
110
                return bool_reader_base::allow_numeric;
5638
5639
634
            default:
5640
634
                return bool_reader_base::allow_text |
5641
634
                       bool_reader_base::allow_numeric;
5642
860
        }
5643
5644
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5645
860
    }
5646
};
5647
5648
/////////////////////////////////////////////////////////////////
5649
// Character (code unit, code point) reader
5650
/////////////////////////////////////////////////////////////////
5651
5652
template <typename CharT>
5653
class code_unit_reader {
5654
public:
5655
    template <typename SourceRange>
5656
    auto read(const SourceRange& range, CharT& ch)
5657
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5658
2.46k
    {
5659
2.46k
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5660
2.46k
        ch = *range.begin();
5661
2.46k
        return it;
5662
2.46k
    }
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rc
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rc
_ZN3scn2v44impl16code_unit_readerIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rc
Line
Count
Source
5658
376
    {
5659
376
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5660
376
        ch = *range.begin();
5661
376
        return it;
5662
376
    }
_ZN3scn2v44impl16code_unit_readerIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rc
Line
Count
Source
5658
902
    {
5659
902
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5660
902
        ch = *range.begin();
5661
902
        return it;
5662
902
    }
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rw
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rw
_ZN3scn2v44impl16code_unit_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rw
Line
Count
Source
5658
206
    {
5659
206
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5660
206
        ch = *range.begin();
5661
206
        return it;
5662
206
    }
_ZN3scn2v44impl16code_unit_readerIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rw
Line
Count
Source
5658
980
    {
5659
980
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5660
980
        ch = *range.begin();
5661
980
        return it;
5662
980
    }
5663
};
5664
5665
template <typename CharT>
5666
class code_point_reader;
5667
5668
template <>
5669
class code_point_reader<char32_t> {
5670
public:
5671
    template <typename SourceRange>
5672
    auto read(const SourceRange& range, char32_t& cp)
5673
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5674
0
    {
5675
0
        auto result = read_code_point_into(range);
5676
0
        if (SCN_UNLIKELY(!result.is_valid())) {
5677
0
            return detail::unexpected_scan_error(
5678
0
                scan_error::invalid_scanned_value, "Invalid code point");
5679
0
        }
5680
0
        cp = detail::decode_code_point_exhaustive_valid(
5681
0
            std::basic_string_view<detail::char_t<SourceRange>>{
5682
0
                result.codepoint});
5683
0
        return result.iterator;
5684
0
    }
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_RDi
5685
};
5686
5687
template <>
5688
class code_point_reader<wchar_t> {
5689
public:
5690
    template <typename SourceRange>
5691
    auto read(const SourceRange& range, wchar_t& ch)
5692
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5693
0
    {
5694
0
        code_point_reader<char32_t> reader{};
5695
0
        char32_t cp{};
5696
0
        auto ret = reader.read(range, cp);
5697
0
        if (SCN_UNLIKELY(!ret)) {
5698
0
            return unexpected(ret.error());
5699
0
        }
5700
5701
0
        SCN_TRY(encoded_ch, encode_code_point_as_wide_character(cp, true));
5702
0
        ch = encoded_ch;
5703
0
        return *ret;
5704
0
    }
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rw
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rw
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rw
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rw
5705
};
5706
5707
template <typename ValueCharT>
5708
class char_reader_base {
5709
public:
5710
    constexpr char_reader_base() = default;
5711
5712
    bool skip_ws_before_read() const
5713
3.90k
    {
5714
3.90k
        return false;
5715
3.90k
    }
scn::v4::impl::char_reader_base<char>::skip_ws_before_read() const
Line
Count
Source
5713
1.98k
    {
5714
1.98k
        return false;
5715
1.98k
    }
scn::v4::impl::char_reader_base<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5713
1.91k
    {
5714
1.91k
        return false;
5715
1.91k
    }
Unexecuted instantiation: scn::v4::impl::char_reader_base<char32_t>::skip_ws_before_read() const
5716
5717
    static scan_expected<void> check_specs(const detail::format_specs& specs)
5718
4.69k
    {
5719
4.69k
        reader_error_handler eh{};
5720
4.69k
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5721
0
            detail::check_code_point_type_specs(specs, eh);
5722
        }
5723
4.69k
        else {
5724
4.69k
            detail::check_char_type_specs(specs, eh);
5725
4.69k
        }
5726
4.69k
        if (SCN_UNLIKELY(!eh)) {
5727
3.28k
            return detail::unexpected_scan_error(
5728
3.28k
                scan_error::invalid_format_string, eh.m_msg);
5729
3.28k
        }
5730
1.41k
        return {};
5731
4.69k
    }
scn::v4::impl::char_reader_base<char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5718
3.25k
    {
5719
3.25k
        reader_error_handler eh{};
5720
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5721
            detail::check_code_point_type_specs(specs, eh);
5722
        }
5723
3.25k
        else {
5724
3.25k
            detail::check_char_type_specs(specs, eh);
5725
3.25k
        }
5726
3.25k
        if (SCN_UNLIKELY(!eh)) {
5727
2.54k
            return detail::unexpected_scan_error(
5728
2.54k
                scan_error::invalid_format_string, eh.m_msg);
5729
2.54k
        }
5730
706
        return {};
5731
3.25k
    }
scn::v4::impl::char_reader_base<wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5718
1.44k
    {
5719
1.44k
        reader_error_handler eh{};
5720
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5721
            detail::check_code_point_type_specs(specs, eh);
5722
        }
5723
1.44k
        else {
5724
1.44k
            detail::check_char_type_specs(specs, eh);
5725
1.44k
        }
5726
1.44k
        if (SCN_UNLIKELY(!eh)) {
5727
736
            return detail::unexpected_scan_error(
5728
736
                scan_error::invalid_format_string, eh.m_msg);
5729
736
        }
5730
708
        return {};
5731
1.44k
    }
Unexecuted instantiation: scn::v4::impl::char_reader_base<char32_t>::check_specs(scn::v4::detail::format_specs const&)
5732
};
5733
5734
template <typename CharT>
5735
class reader_impl_for_char : public char_reader_base<char> {
5736
public:
5737
    template <typename Range>
5738
    auto read_default(Range range, char& value, detail::locale_ref loc)
5739
        -> scan_expected<ranges::const_iterator_t<Range>>
5740
1.27k
    {
5741
1.27k
        SCN_UNUSED(loc);
5742
1.27k
        if constexpr (std::is_same_v<CharT, char>) {
5743
1.27k
            return code_unit_reader<char>{}.read(range, value);
5744
        }
5745
0
        else {
5746
0
            SCN_UNUSED(range);
5747
0
            SCN_EXPECT(false);
5748
0
            SCN_UNREACHABLE;
5749
0
        }
5750
1.27k
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RcNS9_10locale_refE
_ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RcNS0_6detail10locale_refE
Line
Count
Source
5740
376
    {
5741
376
        SCN_UNUSED(loc);
5742
376
        if constexpr (std::is_same_v<CharT, char>) {
5743
376
            return code_unit_reader<char>{}.read(range, value);
5744
        }
5745
        else {
5746
            SCN_UNUSED(range);
5747
            SCN_EXPECT(false);
5748
            SCN_UNREACHABLE;
5749
        }
5750
376
    }
_ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RcNS0_6detail10locale_refE
Line
Count
Source
5740
902
    {
5741
902
        SCN_UNUSED(loc);
5742
902
        if constexpr (std::is_same_v<CharT, char>) {
5743
902
            return code_unit_reader<char>{}.read(range, value);
5744
        }
5745
        else {
5746
            SCN_UNUSED(range);
5747
            SCN_EXPECT(false);
5748
            SCN_UNREACHABLE;
5749
        }
5750
902
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RcNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RcNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RcNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RcNSA_10locale_refE
5751
5752
    template <typename Range>
5753
    auto read_specs(Range range,
5754
                    const detail::format_specs& specs,
5755
                    char& value,
5756
                    detail::locale_ref loc)
5757
        -> scan_expected<ranges::const_iterator_t<Range>>
5758
700
    {
5759
700
        if (specs.type == detail::presentation_type::none ||
5760
700
            specs.type == detail::presentation_type::character) {
5761
642
            return read_default(range, value, loc);
5762
642
        }
5763
5764
58
        reader_impl_for_int<CharT> reader{};
5765
58
        signed char tmp_value{};
5766
58
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5767
58
        value = static_cast<signed char>(value);
5768
58
        return ret;
5769
700
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERcNS9_10locale_refE
_ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERcNSN_10locale_refE
Line
Count
Source
5758
412
    {
5759
412
        if (specs.type == detail::presentation_type::none ||
5760
412
            specs.type == detail::presentation_type::character) {
5761
376
            return read_default(range, value, loc);
5762
376
        }
5763
5764
36
        reader_impl_for_int<CharT> reader{};
5765
36
        signed char tmp_value{};
5766
36
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5767
36
        value = static_cast<signed char>(value);
5768
36
        return ret;
5769
412
    }
_ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERcNSL_10locale_refE
Line
Count
Source
5758
288
    {
5759
288
        if (specs.type == detail::presentation_type::none ||
5760
288
            specs.type == detail::presentation_type::character) {
5761
266
            return read_default(range, value, loc);
5762
266
        }
5763
5764
22
        reader_impl_for_int<CharT> reader{};
5765
22
        signed char tmp_value{};
5766
22
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5767
22
        value = static_cast<signed char>(value);
5768
22
        return ret;
5769
288
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERcNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERcNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERcNS9_10locale_refE
5770
};
5771
5772
template <typename CharT>
5773
class reader_impl_for_wchar : public char_reader_base<wchar_t> {
5774
public:
5775
    template <typename Range>
5776
    auto read_default(Range range, wchar_t& value, detail::locale_ref loc)
5777
        -> scan_expected<ranges::const_iterator_t<Range>>
5778
1.18k
    {
5779
1.18k
        SCN_UNUSED(loc);
5780
1.18k
        if constexpr (std::is_same_v<CharT, char>) {
5781
0
            return code_point_reader<wchar_t>{}.read(range, value);
5782
        }
5783
1.18k
        else {
5784
1.18k
            return code_unit_reader<wchar_t>{}.read(range, value);
5785
1.18k
        }
5786
1.18k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RwNS9_10locale_refE
_ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RwNS0_6detail10locale_refE
Line
Count
Source
5778
206
    {
5779
206
        SCN_UNUSED(loc);
5780
        if constexpr (std::is_same_v<CharT, char>) {
5781
            return code_point_reader<wchar_t>{}.read(range, value);
5782
        }
5783
206
        else {
5784
206
            return code_unit_reader<wchar_t>{}.read(range, value);
5785
206
        }
5786
206
    }
_ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RwNS0_6detail10locale_refE
Line
Count
Source
5778
980
    {
5779
980
        SCN_UNUSED(loc);
5780
        if constexpr (std::is_same_v<CharT, char>) {
5781
            return code_point_reader<wchar_t>{}.read(range, value);
5782
        }
5783
980
        else {
5784
980
            return code_unit_reader<wchar_t>{}.read(range, value);
5785
980
        }
5786
980
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RwNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RwNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RwNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RwNSA_10locale_refE
5787
5788
    template <typename Range>
5789
    auto read_specs(Range range,
5790
                    const detail::format_specs& specs,
5791
                    wchar_t& value,
5792
                    detail::locale_ref loc)
5793
        -> scan_expected<ranges::const_iterator_t<Range>>
5794
706
    {
5795
706
        if (specs.type == detail::presentation_type::none ||
5796
706
            specs.type == detail::presentation_type::character) {
5797
610
            return read_default(range, value, loc);
5798
610
        }
5799
5800
96
        reader_impl_for_int<CharT> reader{};
5801
96
        using integer_type =
5802
96
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5803
96
        integer_type tmp_value{};
5804
96
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5805
96
        value = static_cast<integer_type>(value);
5806
96
        return ret;
5807
706
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERwNS9_10locale_refE
_ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERwNSN_10locale_refE
Line
Count
Source
5794
250
    {
5795
250
        if (specs.type == detail::presentation_type::none ||
5796
250
            specs.type == detail::presentation_type::character) {
5797
206
            return read_default(range, value, loc);
5798
206
        }
5799
5800
44
        reader_impl_for_int<CharT> reader{};
5801
44
        using integer_type =
5802
44
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5803
44
        integer_type tmp_value{};
5804
44
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5805
44
        value = static_cast<integer_type>(value);
5806
44
        return ret;
5807
250
    }
_ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERwNSL_10locale_refE
Line
Count
Source
5794
456
    {
5795
456
        if (specs.type == detail::presentation_type::none ||
5796
456
            specs.type == detail::presentation_type::character) {
5797
404
            return read_default(range, value, loc);
5798
404
        }
5799
5800
52
        reader_impl_for_int<CharT> reader{};
5801
52
        using integer_type =
5802
52
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5803
52
        integer_type tmp_value{};
5804
52
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5805
52
        value = static_cast<integer_type>(value);
5806
52
        return ret;
5807
456
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERwNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERwNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERwNS9_10locale_refE
5808
};
5809
5810
template <typename CharT>
5811
class reader_impl_for_code_point : public char_reader_base<char32_t> {
5812
public:
5813
    template <typename Range>
5814
    auto read_default(Range range, char32_t& value, detail::locale_ref loc)
5815
        -> scan_expected<ranges::const_iterator_t<Range>>
5816
0
    {
5817
0
        SCN_UNUSED(loc);
5818
0
        return code_point_reader<char32_t>{}.read(range, value);
5819
0
    }
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RDiNSA_10locale_refE
5820
5821
    template <typename Range>
5822
    auto read_specs(Range range,
5823
                    const detail::format_specs& specs,
5824
                    char32_t& value,
5825
                    detail::locale_ref loc)
5826
        -> scan_expected<ranges::const_iterator_t<Range>>
5827
0
    {
5828
0
        SCN_UNUSED(specs);
5829
0
        return read_default(range, value, loc);
5830
0
    }
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERDiNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERDiNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERDiNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERDiNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERDiNS9_10locale_refE
5831
};
5832
5833
/////////////////////////////////////////////////////////////////
5834
// Pointer reader
5835
/////////////////////////////////////////////////////////////////
5836
5837
template <typename CharT>
5838
class reader_impl_for_voidptr {
5839
public:
5840
    constexpr reader_impl_for_voidptr() = default;
5841
5842
    bool skip_ws_before_read() const
5843
2.52k
    {
5844
2.52k
        return true;
5845
2.52k
    }
scn::v4::impl::reader_impl_for_voidptr<char>::skip_ws_before_read() const
Line
Count
Source
5843
1.28k
    {
5844
1.28k
        return true;
5845
1.28k
    }
scn::v4::impl::reader_impl_for_voidptr<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5843
1.24k
    {
5844
1.24k
        return true;
5845
1.24k
    }
5846
5847
    static scan_expected<void> check_specs(const detail::format_specs& specs)
5848
4.69k
    {
5849
4.69k
        reader_error_handler eh{};
5850
4.69k
        detail::check_pointer_type_specs(specs, eh);
5851
4.69k
        if (SCN_UNLIKELY(!eh)) {
5852
3.42k
            return detail::unexpected_scan_error(
5853
3.42k
                scan_error::invalid_format_string, eh.m_msg);
5854
3.42k
        }
5855
1.27k
        return {};
5856
4.69k
    }
scn::v4::impl::reader_impl_for_voidptr<char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5848
3.25k
    {
5849
3.25k
        reader_error_handler eh{};
5850
3.25k
        detail::check_pointer_type_specs(specs, eh);
5851
3.25k
        if (SCN_UNLIKELY(!eh)) {
5852
2.60k
            return detail::unexpected_scan_error(
5853
2.60k
                scan_error::invalid_format_string, eh.m_msg);
5854
2.60k
        }
5855
652
        return {};
5856
3.25k
    }
scn::v4::impl::reader_impl_for_voidptr<wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5848
1.44k
    {
5849
1.44k
        reader_error_handler eh{};
5850
1.44k
        detail::check_pointer_type_specs(specs, eh);
5851
1.44k
        if (SCN_UNLIKELY(!eh)) {
5852
822
            return detail::unexpected_scan_error(
5853
822
                scan_error::invalid_format_string, eh.m_msg);
5854
822
        }
5855
622
        return {};
5856
1.44k
    }
5857
5858
    template <typename Range>
5859
    auto read_default(Range range, void*& value, detail::locale_ref loc)
5860
        -> scan_expected<ranges::const_iterator_t<Range>>
5861
2.44k
    {
5862
2.44k
        detail::format_specs specs{};
5863
2.44k
        specs.type = detail::presentation_type::int_hex;
5864
5865
2.44k
        std::uintptr_t intvalue{};
5866
2.44k
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5867
42
                                                                intvalue, loc));
5868
42
        value = reinterpret_cast<void*>(intvalue);
5869
42
        return result;
5870
2.44k
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RPvNS0_6detail10locale_refE
Line
Count
Source
5861
906
    {
5862
906
        detail::format_specs specs{};
5863
906
        specs.type = detail::presentation_type::int_hex;
5864
5865
906
        std::uintptr_t intvalue{};
5866
906
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5867
0
                                                                intvalue, loc));
5868
0
        value = reinterpret_cast<void*>(intvalue);
5869
0
        return result;
5870
906
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RPvNS9_10locale_refE
_ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RPvNS0_6detail10locale_refE
Line
Count
Source
5861
354
    {
5862
354
        detail::format_specs specs{};
5863
354
        specs.type = detail::presentation_type::int_hex;
5864
5865
354
        std::uintptr_t intvalue{};
5866
354
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5867
0
                                                                intvalue, loc));
5868
0
        value = reinterpret_cast<void*>(intvalue);
5869
0
        return result;
5870
354
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RPvNSA_10locale_refE
_ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RPvNS0_6detail10locale_refE
Line
Count
Source
5861
984
    {
5862
984
        detail::format_specs specs{};
5863
984
        specs.type = detail::presentation_type::int_hex;
5864
5865
984
        std::uintptr_t intvalue{};
5866
984
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5867
32
                                                                intvalue, loc));
5868
32
        value = reinterpret_cast<void*>(intvalue);
5869
32
        return result;
5870
984
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RPvNS0_6detail10locale_refE
Line
Count
Source
5861
204
    {
5862
204
        detail::format_specs specs{};
5863
204
        specs.type = detail::presentation_type::int_hex;
5864
5865
204
        std::uintptr_t intvalue{};
5866
204
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5867
10
                                                                intvalue, loc));
5868
10
        value = reinterpret_cast<void*>(intvalue);
5869
10
        return result;
5870
204
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RPvNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RPvNSA_10locale_refE
5871
5872
    template <typename Range>
5873
    auto read_specs(Range range,
5874
                    const detail::format_specs& specs,
5875
                    void*& value,
5876
                    detail::locale_ref loc)
5877
        -> scan_expected<ranges::const_iterator_t<Range>>
5878
1.23k
    {
5879
1.23k
        SCN_UNUSED(specs);
5880
1.23k
        return read_default(range, value, loc);
5881
1.23k
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERPvNSN_10locale_refE
Line
Count
Source
5878
354
    {
5879
354
        SCN_UNUSED(specs);
5880
354
        return read_default(range, value, loc);
5881
354
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERPvNSL_10locale_refE
Line
Count
Source
5878
270
    {
5879
270
        SCN_UNUSED(specs);
5880
270
        return read_default(range, value, loc);
5881
270
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERPvNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERPvNS9_10locale_refE
_ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERPvNSN_10locale_refE
Line
Count
Source
5878
204
    {
5879
204
        SCN_UNUSED(specs);
5880
204
        return read_default(range, value, loc);
5881
204
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERPvNSL_10locale_refE
Line
Count
Source
5878
408
    {
5879
408
        SCN_UNUSED(specs);
5880
408
        return read_default(range, value, loc);
5881
408
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERPvNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERPvNS9_10locale_refE
5882
};
5883
5884
/////////////////////////////////////////////////////////////////
5885
// Argument readers
5886
/////////////////////////////////////////////////////////////////
5887
5888
template <typename Range>
5889
auto skip_ws_before_if_required(bool is_required, Range range)
5890
    -> eof_expected<ranges::iterator_t<Range>>
5891
2.25M
{
5892
2.25M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5893
13.6k
        return unexpected(e);
5894
13.6k
    }
5895
5896
2.24M
    if (!is_required) {
5897
1.21k
        return range.begin();
5898
1.21k
    }
5899
5900
2.24M
    return skip_classic_whitespace(range);
5901
2.24M
}
_ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSB_
Line
Count
Source
5891
373k
{
5892
373k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5893
4.79k
        return unexpected(e);
5894
4.79k
    }
5895
5896
368k
    if (!is_required) {
5897
636
        return range.begin();
5898
636
    }
5899
5900
367k
    return skip_classic_whitespace(range);
5901
368k
}
_ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSE_
Line
Count
Source
5891
328k
{
5892
328k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5893
4.39k
        return unexpected(e);
5894
4.39k
    }
5895
5896
323k
    if (!is_required) {
5897
0
        return range.begin();
5898
0
    }
5899
5900
323k
    return skip_classic_whitespace(range);
5901
323k
}
Unexecuted instantiation: _ZN3scn2v44impl26skip_ws_before_if_requiredINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEEEEbSA_
_ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSB_
Line
Count
Source
5891
984k
{
5892
984k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5893
2.78k
        return unexpected(e);
5894
2.78k
    }
5895
5896
982k
    if (!is_required) {
5897
576
        return range.begin();
5898
576
    }
5899
5900
981k
    return skip_classic_whitespace(range);
5901
982k
}
_ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSE_
Line
Count
Source
5891
570k
{
5892
570k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5893
1.69k
        return unexpected(e);
5894
1.69k
    }
5895
5896
568k
    if (!is_required) {
5897
0
        return range.begin();
5898
0
    }
5899
5900
568k
    return skip_classic_whitespace(range);
5901
568k
}
Unexecuted instantiation: _ZN3scn2v44impl26skip_ws_before_if_requiredINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEEEEbSA_
5902
5903
template <typename T, typename CharT>
5904
constexpr auto make_reader()
5905
2.40M
{
5906
    if constexpr (std::is_same_v<T, bool>) {
5907
        return reader_impl_for_bool<CharT>{};
5908
    }
5909
    else if constexpr (std::is_same_v<T, char>) {
5910
        return reader_impl_for_char<CharT>{};
5911
    }
5912
    else if constexpr (std::is_same_v<T, wchar_t>) {
5913
        return reader_impl_for_wchar<CharT>{};
5914
    }
5915
    else if constexpr (std::is_same_v<T, char32_t>) {
5916
        return reader_impl_for_code_point<CharT>{};
5917
    }
5918
    else if constexpr (std::is_same_v<T, std::string_view> ||
5919
792k
                       std::is_same_v<T, std::wstring_view>) {
5920
792k
        return reader_impl_for_string<CharT>{};
5921
    }
5922
    else if constexpr (std::is_same_v<T, std::string> ||
5923
1.60M
                       std::is_same_v<T, std::wstring>) {
5924
1.60M
        return reader_impl_for_string<CharT>{};
5925
    }
5926
#if !SCN_DISABLE_REGEX
5927
    else if constexpr (std::is_same_v<T, regex_matches> ||
5928
                       std::is_same_v<T, wregex_matches>) {
5929
        return reader_impl_for_regex_matches<CharT>{};
5930
    }
5931
#endif
5932
    else if constexpr (std::is_same_v<T, void*>) {
5933
        return reader_impl_for_voidptr<CharT>{};
5934
    }
5935
    else if constexpr (std::is_floating_point_v<T>) {
5936
        return reader_impl_for_float<CharT>{};
5937
    }
5938
    else if constexpr (std::is_same_v<T, signed char> ||
5939
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5940
                       std::is_same_v<T, long> ||
5941
                       std::is_same_v<T, long long> ||
5942
                       std::is_same_v<T, unsigned char> ||
5943
                       std::is_same_v<T, unsigned short> ||
5944
                       std::is_same_v<T, unsigned int> ||
5945
                       std::is_same_v<T, unsigned long> ||
5946
                       std::is_same_v<T, unsigned long long>
5947
#if SCN_HAS_INT128
5948
                       || std::is_same_v<T, int128> ||
5949
                       std::is_same_v<T, uint128>
5950
#endif
5951
    ) {
5952
        return reader_impl_for_int<CharT>{};
5953
    }
5954
    else {
5955
        return reader_impl_for_monostate<CharT>{};
5956
    }
5957
2.40M
}
auto scn::v4::impl::make_reader<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>()
Line
Count
Source
5905
223k
{
5906
    if constexpr (std::is_same_v<T, bool>) {
5907
        return reader_impl_for_bool<CharT>{};
5908
    }
5909
    else if constexpr (std::is_same_v<T, char>) {
5910
        return reader_impl_for_char<CharT>{};
5911
    }
5912
    else if constexpr (std::is_same_v<T, wchar_t>) {
5913
        return reader_impl_for_wchar<CharT>{};
5914
    }
5915
    else if constexpr (std::is_same_v<T, char32_t>) {
5916
        return reader_impl_for_code_point<CharT>{};
5917
    }
5918
    else if constexpr (std::is_same_v<T, std::string_view> ||
5919
                       std::is_same_v<T, std::wstring_view>) {
5920
        return reader_impl_for_string<CharT>{};
5921
    }
5922
    else if constexpr (std::is_same_v<T, std::string> ||
5923
223k
                       std::is_same_v<T, std::wstring>) {
5924
223k
        return reader_impl_for_string<CharT>{};
5925
    }
5926
#if !SCN_DISABLE_REGEX
5927
    else if constexpr (std::is_same_v<T, regex_matches> ||
5928
                       std::is_same_v<T, wregex_matches>) {
5929
        return reader_impl_for_regex_matches<CharT>{};
5930
    }
5931
#endif
5932
    else if constexpr (std::is_same_v<T, void*>) {
5933
        return reader_impl_for_voidptr<CharT>{};
5934
    }
5935
    else if constexpr (std::is_floating_point_v<T>) {
5936
        return reader_impl_for_float<CharT>{};
5937
    }
5938
    else if constexpr (std::is_same_v<T, signed char> ||
5939
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5940
                       std::is_same_v<T, long> ||
5941
                       std::is_same_v<T, long long> ||
5942
                       std::is_same_v<T, unsigned char> ||
5943
                       std::is_same_v<T, unsigned short> ||
5944
                       std::is_same_v<T, unsigned int> ||
5945
                       std::is_same_v<T, unsigned long> ||
5946
                       std::is_same_v<T, unsigned long long>
5947
#if SCN_HAS_INT128
5948
                       || std::is_same_v<T, int128> ||
5949
                       std::is_same_v<T, uint128>
5950
#endif
5951
    ) {
5952
        return reader_impl_for_int<CharT>{};
5953
    }
5954
    else {
5955
        return reader_impl_for_monostate<CharT>{};
5956
    }
5957
223k
}
auto scn::v4::impl::make_reader<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, char>()
Line
Count
Source
5905
3.88k
{
5906
    if constexpr (std::is_same_v<T, bool>) {
5907
        return reader_impl_for_bool<CharT>{};
5908
    }
5909
    else if constexpr (std::is_same_v<T, char>) {
5910
        return reader_impl_for_char<CharT>{};
5911
    }
5912
    else if constexpr (std::is_same_v<T, wchar_t>) {
5913
        return reader_impl_for_wchar<CharT>{};
5914
    }
5915
    else if constexpr (std::is_same_v<T, char32_t>) {
5916
        return reader_impl_for_code_point<CharT>{};
5917
    }
5918
    else if constexpr (std::is_same_v<T, std::string_view> ||
5919
                       std::is_same_v<T, std::wstring_view>) {
5920
        return reader_impl_for_string<CharT>{};
5921
    }
5922
    else if constexpr (std::is_same_v<T, std::string> ||
5923
3.88k
                       std::is_same_v<T, std::wstring>) {
5924
3.88k
        return reader_impl_for_string<CharT>{};
5925
    }
5926
#if !SCN_DISABLE_REGEX
5927
    else if constexpr (std::is_same_v<T, regex_matches> ||
5928
                       std::is_same_v<T, wregex_matches>) {
5929
        return reader_impl_for_regex_matches<CharT>{};
5930
    }
5931
#endif
5932
    else if constexpr (std::is_same_v<T, void*>) {
5933
        return reader_impl_for_voidptr<CharT>{};
5934
    }
5935
    else if constexpr (std::is_floating_point_v<T>) {
5936
        return reader_impl_for_float<CharT>{};
5937
    }
5938
    else if constexpr (std::is_same_v<T, signed char> ||
5939
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5940
                       std::is_same_v<T, long> ||
5941
                       std::is_same_v<T, long long> ||
5942
                       std::is_same_v<T, unsigned char> ||
5943
                       std::is_same_v<T, unsigned short> ||
5944
                       std::is_same_v<T, unsigned int> ||
5945
                       std::is_same_v<T, unsigned long> ||
5946
                       std::is_same_v<T, unsigned long long>
5947
#if SCN_HAS_INT128
5948
                       || std::is_same_v<T, int128> ||
5949
                       std::is_same_v<T, uint128>
5950
#endif
5951
    ) {
5952
        return reader_impl_for_int<CharT>{};
5953
    }
5954
    else {
5955
        return reader_impl_for_monostate<CharT>{};
5956
    }
5957
3.88k
}
auto scn::v4::impl::make_reader<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>()
Line
Count
Source
5905
100k
{
5906
    if constexpr (std::is_same_v<T, bool>) {
5907
        return reader_impl_for_bool<CharT>{};
5908
    }
5909
    else if constexpr (std::is_same_v<T, char>) {
5910
        return reader_impl_for_char<CharT>{};
5911
    }
5912
    else if constexpr (std::is_same_v<T, wchar_t>) {
5913
        return reader_impl_for_wchar<CharT>{};
5914
    }
5915
    else if constexpr (std::is_same_v<T, char32_t>) {
5916
        return reader_impl_for_code_point<CharT>{};
5917
    }
5918
    else if constexpr (std::is_same_v<T, std::string_view> ||
5919
100k
                       std::is_same_v<T, std::wstring_view>) {
5920
100k
        return reader_impl_for_string<CharT>{};
5921
    }
5922
    else if constexpr (std::is_same_v<T, std::string> ||
5923
                       std::is_same_v<T, std::wstring>) {
5924
        return reader_impl_for_string<CharT>{};
5925
    }
5926
#if !SCN_DISABLE_REGEX
5927
    else if constexpr (std::is_same_v<T, regex_matches> ||
5928
                       std::is_same_v<T, wregex_matches>) {
5929
        return reader_impl_for_regex_matches<CharT>{};
5930
    }
5931
#endif
5932
    else if constexpr (std::is_same_v<T, void*>) {
5933
        return reader_impl_for_voidptr<CharT>{};
5934
    }
5935
    else if constexpr (std::is_floating_point_v<T>) {
5936
        return reader_impl_for_float<CharT>{};
5937
    }
5938
    else if constexpr (std::is_same_v<T, signed char> ||
5939
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5940
                       std::is_same_v<T, long> ||
5941
                       std::is_same_v<T, long long> ||
5942
                       std::is_same_v<T, unsigned char> ||
5943
                       std::is_same_v<T, unsigned short> ||
5944
                       std::is_same_v<T, unsigned int> ||
5945
                       std::is_same_v<T, unsigned long> ||
5946
                       std::is_same_v<T, unsigned long long>
5947
#if SCN_HAS_INT128
5948
                       || std::is_same_v<T, int128> ||
5949
                       std::is_same_v<T, uint128>
5950
#endif
5951
    ) {
5952
        return reader_impl_for_int<CharT>{};
5953
    }
5954
    else {
5955
        return reader_impl_for_monostate<CharT>{};
5956
    }
5957
100k
}
Unexecuted instantiation: auto scn::v4::impl::make_reader<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, char>()
auto scn::v4::impl::make_reader<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t>()
Line
Count
Source
5905
2.02k
{
5906
    if constexpr (std::is_same_v<T, bool>) {
5907
        return reader_impl_for_bool<CharT>{};
5908
    }
5909
    else if constexpr (std::is_same_v<T, char>) {
5910
        return reader_impl_for_char<CharT>{};
5911
    }
5912
    else if constexpr (std::is_same_v<T, wchar_t>) {
5913
        return reader_impl_for_wchar<CharT>{};
5914
    }
5915
    else if constexpr (std::is_same_v<T, char32_t>) {
5916
        return reader_impl_for_code_point<CharT>{};
5917
    }
5918
    else if constexpr (std::is_same_v<T, std::string_view> ||
5919
                       std::is_same_v<T, std::wstring_view>) {
5920
        return reader_impl_for_string<CharT>{};
5921
    }
5922
    else if constexpr (std::is_same_v<T, std::string> ||
5923
2.02k
                       std::is_same_v<T, std::wstring>) {
5924
2.02k
        return reader_impl_for_string<CharT>{};
5925
    }
5926
#if !SCN_DISABLE_REGEX
5927
    else if constexpr (std::is_same_v<T, regex_matches> ||
5928
                       std::is_same_v<T, wregex_matches>) {
5929
        return reader_impl_for_regex_matches<CharT>{};
5930
    }
5931
#endif
5932
    else if constexpr (std::is_same_v<T, void*>) {
5933
        return reader_impl_for_voidptr<CharT>{};
5934
    }
5935
    else if constexpr (std::is_floating_point_v<T>) {
5936
        return reader_impl_for_float<CharT>{};
5937
    }
5938
    else if constexpr (std::is_same_v<T, signed char> ||
5939
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5940
                       std::is_same_v<T, long> ||
5941
                       std::is_same_v<T, long long> ||
5942
                       std::is_same_v<T, unsigned char> ||
5943
                       std::is_same_v<T, unsigned short> ||
5944
                       std::is_same_v<T, unsigned int> ||
5945
                       std::is_same_v<T, unsigned long> ||
5946
                       std::is_same_v<T, unsigned long long>
5947
#if SCN_HAS_INT128
5948
                       || std::is_same_v<T, int128> ||
5949
                       std::is_same_v<T, uint128>
5950
#endif
5951
    ) {
5952
        return reader_impl_for_int<CharT>{};
5953
    }
5954
    else {
5955
        return reader_impl_for_monostate<CharT>{};
5956
    }
5957
2.02k
}
auto scn::v4::impl::make_reader<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, wchar_t>()
Line
Count
Source
5905
1.38M
{
5906
    if constexpr (std::is_same_v<T, bool>) {
5907
        return reader_impl_for_bool<CharT>{};
5908
    }
5909
    else if constexpr (std::is_same_v<T, char>) {
5910
        return reader_impl_for_char<CharT>{};
5911
    }
5912
    else if constexpr (std::is_same_v<T, wchar_t>) {
5913
        return reader_impl_for_wchar<CharT>{};
5914
    }
5915
    else if constexpr (std::is_same_v<T, char32_t>) {
5916
        return reader_impl_for_code_point<CharT>{};
5917
    }
5918
    else if constexpr (std::is_same_v<T, std::string_view> ||
5919
                       std::is_same_v<T, std::wstring_view>) {
5920
        return reader_impl_for_string<CharT>{};
5921
    }
5922
    else if constexpr (std::is_same_v<T, std::string> ||
5923
1.38M
                       std::is_same_v<T, std::wstring>) {
5924
1.38M
        return reader_impl_for_string<CharT>{};
5925
    }
5926
#if !SCN_DISABLE_REGEX
5927
    else if constexpr (std::is_same_v<T, regex_matches> ||
5928
                       std::is_same_v<T, wregex_matches>) {
5929
        return reader_impl_for_regex_matches<CharT>{};
5930
    }
5931
#endif
5932
    else if constexpr (std::is_same_v<T, void*>) {
5933
        return reader_impl_for_voidptr<CharT>{};
5934
    }
5935
    else if constexpr (std::is_floating_point_v<T>) {
5936
        return reader_impl_for_float<CharT>{};
5937
    }
5938
    else if constexpr (std::is_same_v<T, signed char> ||
5939
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5940
                       std::is_same_v<T, long> ||
5941
                       std::is_same_v<T, long long> ||
5942
                       std::is_same_v<T, unsigned char> ||
5943
                       std::is_same_v<T, unsigned short> ||
5944
                       std::is_same_v<T, unsigned int> ||
5945
                       std::is_same_v<T, unsigned long> ||
5946
                       std::is_same_v<T, unsigned long long>
5947
#if SCN_HAS_INT128
5948
                       || std::is_same_v<T, int128> ||
5949
                       std::is_same_v<T, uint128>
5950
#endif
5951
    ) {
5952
        return reader_impl_for_int<CharT>{};
5953
    }
5954
    else {
5955
        return reader_impl_for_monostate<CharT>{};
5956
    }
5957
1.38M
}
Unexecuted instantiation: auto scn::v4::impl::make_reader<std::__1::basic_string_view<char, std::__1::char_traits<char> >, wchar_t>()
auto scn::v4::impl::make_reader<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>()
Line
Count
Source
5905
691k
{
5906
    if constexpr (std::is_same_v<T, bool>) {
5907
        return reader_impl_for_bool<CharT>{};
5908
    }
5909
    else if constexpr (std::is_same_v<T, char>) {
5910
        return reader_impl_for_char<CharT>{};
5911
    }
5912
    else if constexpr (std::is_same_v<T, wchar_t>) {
5913
        return reader_impl_for_wchar<CharT>{};
5914
    }
5915
    else if constexpr (std::is_same_v<T, char32_t>) {
5916
        return reader_impl_for_code_point<CharT>{};
5917
    }
5918
    else if constexpr (std::is_same_v<T, std::string_view> ||
5919
691k
                       std::is_same_v<T, std::wstring_view>) {
5920
691k
        return reader_impl_for_string<CharT>{};
5921
    }
5922
    else if constexpr (std::is_same_v<T, std::string> ||
5923
                       std::is_same_v<T, std::wstring>) {
5924
        return reader_impl_for_string<CharT>{};
5925
    }
5926
#if !SCN_DISABLE_REGEX
5927
    else if constexpr (std::is_same_v<T, regex_matches> ||
5928
                       std::is_same_v<T, wregex_matches>) {
5929
        return reader_impl_for_regex_matches<CharT>{};
5930
    }
5931
#endif
5932
    else if constexpr (std::is_same_v<T, void*>) {
5933
        return reader_impl_for_voidptr<CharT>{};
5934
    }
5935
    else if constexpr (std::is_floating_point_v<T>) {
5936
        return reader_impl_for_float<CharT>{};
5937
    }
5938
    else if constexpr (std::is_same_v<T, signed char> ||
5939
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5940
                       std::is_same_v<T, long> ||
5941
                       std::is_same_v<T, long long> ||
5942
                       std::is_same_v<T, unsigned char> ||
5943
                       std::is_same_v<T, unsigned short> ||
5944
                       std::is_same_v<T, unsigned int> ||
5945
                       std::is_same_v<T, unsigned long> ||
5946
                       std::is_same_v<T, unsigned long long>
5947
#if SCN_HAS_INT128
5948
                       || std::is_same_v<T, int128> ||
5949
                       std::is_same_v<T, uint128>
5950
#endif
5951
    ) {
5952
        return reader_impl_for_int<CharT>{};
5953
    }
5954
    else {
5955
        return reader_impl_for_monostate<CharT>{};
5956
    }
5957
691k
}
Unexecuted instantiation: auto scn::v4::impl::make_reader<char, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<signed char, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<short, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<int, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned char, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned short, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned int, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<float, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<double, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long double, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<char>, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<wchar_t>, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<wchar_t, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<signed char, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<short, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<int, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned char, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned short, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned int, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<float, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<double, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long double, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<char>, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<wchar_t>, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<__int128, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned __int128, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<void*, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<bool, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<wchar_t, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<char32_t, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::monostate, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<__int128, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned __int128, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<void*, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<bool, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<char, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<char32_t, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::monostate, wchar_t>()
5958
5959
template <typename Context>
5960
struct default_arg_reader {
5961
    using context_type = Context;
5962
    using char_type = typename context_type::char_type;
5963
    using args_type = basic_scan_args<detail::default_context<char_type>>;
5964
5965
    using range_type = typename context_type::range_type;
5966
    using iterator = ranges::iterator_t<range_type>;
5967
5968
    template <typename Reader, typename Range, typename T>
5969
    auto impl(Reader& rd, Range rng, T& value)
5970
        -> scan_expected<ranges::iterator_t<Range>>
5971
2.25M
    {
5972
2.25M
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
2.23M
                        .transform_error(make_eof_scan_error));
5974
2.23M
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
2.25M
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5971
15.8k
    {
5972
15.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
15.4k
                        .transform_error(make_eof_scan_error));
5974
15.4k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
15.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5971
18.9k
    {
5972
18.9k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
18.4k
                        .transform_error(make_eof_scan_error));
5974
18.4k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
18.9k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5971
18.6k
    {
5972
18.6k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
18.1k
                        .transform_error(make_eof_scan_error));
5974
18.1k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
18.6k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5971
13.2k
    {
5972
13.2k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
12.9k
                        .transform_error(make_eof_scan_error));
5974
12.9k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
13.2k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5971
15.1k
    {
5972
15.1k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
14.8k
                        .transform_error(make_eof_scan_error));
5974
14.8k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
15.1k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5971
14.7k
    {
5972
14.7k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
14.3k
                        .transform_error(make_eof_scan_error));
5974
14.3k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
14.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_23reader_impl_for_voidptrIcEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
5971
636
    {
5972
636
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
636
                        .transform_error(make_eof_scan_error));
5974
636
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
636
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_boolIcEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5971
636
    {
5972
636
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
636
                        .transform_error(make_eof_scan_error));
5974
636
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
636
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_charIcEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5971
636
    {
5972
636
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
636
                        .transform_error(make_eof_scan_error));
5974
636
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
636
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_wcharIcEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_26reader_impl_for_code_pointIcEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5971
51.2k
    {
5972
51.2k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
50.6k
                        .transform_error(make_eof_scan_error));
5974
50.6k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
51.2k
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5971
54.4k
    {
5972
54.4k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
53.7k
                        .transform_error(make_eof_scan_error));
5974
53.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
54.4k
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5971
55.7k
    {
5972
55.7k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
54.9k
                        .transform_error(make_eof_scan_error));
5974
54.9k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
55.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_25reader_impl_for_monostateIcEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5971
56.3k
    {
5972
56.3k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
55.3k
                        .transform_error(make_eof_scan_error));
5974
55.3k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
56.3k
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5971
636
    {
5972
636
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
636
                        .transform_error(make_eof_scan_error));
5974
636
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
636
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
5971
56.3k
    {
5972
56.3k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
55.3k
                        .transform_error(make_eof_scan_error));
5974
55.3k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
56.3k
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
5971
15.8k
    {
5972
15.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
15.4k
                        .transform_error(make_eof_scan_error));
5974
15.4k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
15.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
5971
17.7k
    {
5972
17.7k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
17.2k
                        .transform_error(make_eof_scan_error));
5974
17.2k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
17.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
5971
18.0k
    {
5972
18.0k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
17.5k
                        .transform_error(make_eof_scan_error));
5974
17.5k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
18.0k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
5971
13.2k
    {
5972
13.2k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
12.9k
                        .transform_error(make_eof_scan_error));
5974
12.9k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
13.2k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
5971
14.5k
    {
5972
14.5k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
14.1k
                        .transform_error(make_eof_scan_error));
5974
14.1k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
14.5k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
5971
14.6k
    {
5972
14.6k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
14.3k
                        .transform_error(make_eof_scan_error));
5974
14.3k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
14.6k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
5971
52.2k
    {
5972
52.2k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
51.6k
                        .transform_error(make_eof_scan_error));
5974
51.6k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
52.2k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
5971
54.7k
    {
5972
54.7k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
53.9k
                        .transform_error(make_eof_scan_error));
5974
53.9k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
54.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
5971
56.0k
    {
5972
56.0k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
55.1k
                        .transform_error(make_eof_scan_error));
5974
55.1k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
56.0k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Line
Count
Source
5971
70.9k
    {
5972
70.9k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
69.7k
                        .transform_error(make_eof_scan_error));
5974
69.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
70.9k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIcSE_NSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIwNSD_IwEENSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIcNSK_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5971
4.23k
    {
5972
4.23k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
4.17k
                        .transform_error(make_eof_scan_error));
5974
4.17k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
4.23k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5971
4.83k
    {
5972
4.83k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
4.76k
                        .transform_error(make_eof_scan_error));
5974
4.76k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
4.83k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5971
4.28k
    {
5972
4.28k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
4.22k
                        .transform_error(make_eof_scan_error));
5974
4.22k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
4.28k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5971
4.20k
    {
5972
4.20k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
4.15k
                        .transform_error(make_eof_scan_error));
5974
4.15k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
4.20k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5971
4.80k
    {
5972
4.80k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
4.75k
                        .transform_error(make_eof_scan_error));
5974
4.75k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
4.80k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5971
4.25k
    {
5972
4.25k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
4.20k
                        .transform_error(make_eof_scan_error));
5974
4.20k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
4.25k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_23reader_impl_for_voidptrIwEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
5971
576
    {
5972
576
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
576
                        .transform_error(make_eof_scan_error));
5974
576
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
576
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_boolIwEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5971
576
    {
5972
576
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
576
                        .transform_error(make_eof_scan_error));
5974
576
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
576
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_charIwEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_wcharIwEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5971
576
    {
5972
576
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
576
                        .transform_error(make_eof_scan_error));
5974
576
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
576
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_26reader_impl_for_code_pointIwEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5971
40.3k
    {
5972
40.3k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
40.0k
                        .transform_error(make_eof_scan_error));
5974
40.0k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
40.3k
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5971
47.3k
    {
5972
47.3k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
47.0k
                        .transform_error(make_eof_scan_error));
5974
47.0k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
47.3k
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5971
48.5k
    {
5972
48.5k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
48.2k
                        .transform_error(make_eof_scan_error));
5974
48.2k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
48.5k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_25reader_impl_for_monostateIwEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5971
576
    {
5972
576
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
576
                        .transform_error(make_eof_scan_error));
5974
576
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
576
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5971
409k
    {
5972
409k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
408k
                        .transform_error(make_eof_scan_error));
5974
408k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
409k
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
5971
409k
    {
5972
409k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
408k
                        .transform_error(make_eof_scan_error));
5974
408k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
409k
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
5971
4.23k
    {
5972
4.23k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
4.17k
                        .transform_error(make_eof_scan_error));
5974
4.17k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
4.23k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
5971
4.25k
    {
5972
4.25k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
4.19k
                        .transform_error(make_eof_scan_error));
5974
4.19k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
4.25k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
5971
4.28k
    {
5972
4.28k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
4.22k
                        .transform_error(make_eof_scan_error));
5974
4.22k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
4.28k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
5971
4.20k
    {
5972
4.20k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
4.15k
                        .transform_error(make_eof_scan_error));
5974
4.15k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
4.20k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
5971
4.22k
    {
5972
4.22k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
4.17k
                        .transform_error(make_eof_scan_error));
5974
4.17k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
4.22k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
5971
4.25k
    {
5972
4.25k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
4.20k
                        .transform_error(make_eof_scan_error));
5974
4.20k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
4.25k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
5971
40.3k
    {
5972
40.3k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
40.0k
                        .transform_error(make_eof_scan_error));
5974
40.0k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
40.3k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
5971
46.7k
    {
5972
46.7k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
46.3k
                        .transform_error(make_eof_scan_error));
5974
46.3k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
46.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
5971
48.5k
    {
5972
48.5k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
48.1k
                        .transform_error(make_eof_scan_error));
5974
48.1k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
48.5k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIcNSD_IcEENSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Line
Count
Source
5971
409k
    {
5972
409k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5973
407k
                        .transform_error(make_eof_scan_error));
5974
407k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5975
409k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIwSE_NSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIwNSK_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
5976
5977
    template <typename T>
5978
    scan_expected<iterator> operator()(T& value)
5979
2.25M
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
1.35M
                          basic_contiguous_scan_context<char_type>>) {
5984
1.35M
            auto rd = make_reader<T, char_type>();
5985
1.35M
            return impl(rd, range, value);
5986
        }
5987
898k
        else if constexpr (!detail::is_type_disabled<T>) {
5988
898k
            auto rd = make_reader<T, char_type>();
5989
898k
            if (!is_segment_contiguous(range)) {
5990
898k
                return impl(rd, range, value);
5991
898k
            }
5992
0
            auto crange = get_as_contiguous(range);
5993
0
            SCN_TRY(it, impl(rd, crange, value));
5994
0
            return ranges::next(range.begin(),
5995
0
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
2.25M
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<signed char>(signed char&)
Line
Count
Source
5979
15.8k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
15.8k
                          basic_contiguous_scan_context<char_type>>) {
5984
15.8k
            auto rd = make_reader<T, char_type>();
5985
15.8k
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
15.8k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<short>(short&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<int>(int&)
Line
Count
Source
5979
18.9k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
18.9k
                          basic_contiguous_scan_context<char_type>>) {
5984
18.9k
            auto rd = make_reader<T, char_type>();
5985
18.9k
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
18.9k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long>(long&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long long>(long long&)
Line
Count
Source
5979
18.6k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
18.6k
                          basic_contiguous_scan_context<char_type>>) {
5984
18.6k
            auto rd = make_reader<T, char_type>();
5985
18.6k
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
18.6k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<__int128>(__int128&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
5979
13.2k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
13.2k
                          basic_contiguous_scan_context<char_type>>) {
5984
13.2k
            auto rd = make_reader<T, char_type>();
5985
13.2k
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
13.2k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
5979
15.1k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
15.1k
                          basic_contiguous_scan_context<char_type>>) {
5984
15.1k
            auto rd = make_reader<T, char_type>();
5985
15.1k
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
15.1k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long>(unsigned long&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
5979
14.7k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
14.7k
                          basic_contiguous_scan_context<char_type>>) {
5984
14.7k
            auto rd = make_reader<T, char_type>();
5985
14.7k
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
14.7k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<void*>(void*&)
Line
Count
Source
5979
636
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
636
                          basic_contiguous_scan_context<char_type>>) {
5984
636
            auto rd = make_reader<T, char_type>();
5985
636
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
636
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<bool>(bool&)
Line
Count
Source
5979
636
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
636
                          basic_contiguous_scan_context<char_type>>) {
5984
636
            auto rd = make_reader<T, char_type>();
5985
636
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
636
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char>(char&)
Line
Count
Source
5979
636
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
636
                          basic_contiguous_scan_context<char_type>>) {
5984
636
            auto rd = make_reader<T, char_type>();
5985
636
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
636
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char32_t>(char32_t&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<float>(float&)
Line
Count
Source
5979
51.2k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
51.2k
                          basic_contiguous_scan_context<char_type>>) {
5984
51.2k
            auto rd = make_reader<T, char_type>();
5985
51.2k
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
51.2k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<double>(double&)
Line
Count
Source
5979
54.4k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
54.4k
                          basic_contiguous_scan_context<char_type>>) {
5984
54.4k
            auto rd = make_reader<T, char_type>();
5985
54.4k
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
54.4k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long double>(long double&)
Line
Count
Source
5979
55.7k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
55.7k
                          basic_contiguous_scan_context<char_type>>) {
5984
55.7k
            auto rd = make_reader<T, char_type>();
5985
55.7k
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
55.7k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5979
56.3k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
56.3k
                          basic_contiguous_scan_context<char_type>>) {
5984
56.3k
            auto rd = make_reader<T, char_type>();
5985
56.3k
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
56.3k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5979
636
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
636
                          basic_contiguous_scan_context<char_type>>) {
5984
636
            auto rd = make_reader<T, char_type>();
5985
636
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
636
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5979
56.3k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
56.3k
                          basic_contiguous_scan_context<char_type>>) {
5984
56.3k
            auto rd = make_reader<T, char_type>();
5985
56.3k
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
56.3k
    }
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<signed char>(signed char&)
Line
Count
Source
5979
15.8k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
                          basic_contiguous_scan_context<char_type>>) {
5984
            auto rd = make_reader<T, char_type>();
5985
            return impl(rd, range, value);
5986
        }
5987
15.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5988
15.8k
            auto rd = make_reader<T, char_type>();
5989
15.8k
            if (!is_segment_contiguous(range)) {
5990
15.8k
                return impl(rd, range, value);
5991
15.8k
            }
5992
0
            auto crange = get_as_contiguous(range);
5993
0
            SCN_TRY(it, impl(rd, crange, value));
5994
0
            return ranges::next(range.begin(),
5995
0
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
15.8k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<short>(short&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<int>(int&)
Line
Count
Source
5979
17.7k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
                          basic_contiguous_scan_context<char_type>>) {
5984
            auto rd = make_reader<T, char_type>();
5985
            return impl(rd, range, value);
5986
        }
5987
17.7k
        else if constexpr (!detail::is_type_disabled<T>) {
5988
17.7k
            auto rd = make_reader<T, char_type>();
5989
17.7k
            if (!is_segment_contiguous(range)) {
5990
17.7k
                return impl(rd, range, value);
5991
17.7k
            }
5992
0
            auto crange = get_as_contiguous(range);
5993
0
            SCN_TRY(it, impl(rd, crange, value));
5994
0
            return ranges::next(range.begin(),
5995
0
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
17.7k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long>(long&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long long>(long long&)
Line
Count
Source
5979
18.0k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
                          basic_contiguous_scan_context<char_type>>) {
5984
            auto rd = make_reader<T, char_type>();
5985
            return impl(rd, range, value);
5986
        }
5987
18.0k
        else if constexpr (!detail::is_type_disabled<T>) {
5988
18.0k
            auto rd = make_reader<T, char_type>();
5989
18.0k
            if (!is_segment_contiguous(range)) {
5990
18.0k
                return impl(rd, range, value);
5991
18.0k
            }
5992
0
            auto crange = get_as_contiguous(range);
5993
0
            SCN_TRY(it, impl(rd, crange, value));
5994
0
            return ranges::next(range.begin(),
5995
0
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
18.0k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<__int128>(__int128&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
5979
13.2k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
                          basic_contiguous_scan_context<char_type>>) {
5984
            auto rd = make_reader<T, char_type>();
5985
            return impl(rd, range, value);
5986
        }
5987
13.2k
        else if constexpr (!detail::is_type_disabled<T>) {
5988
13.2k
            auto rd = make_reader<T, char_type>();
5989
13.2k
            if (!is_segment_contiguous(range)) {
5990
13.2k
                return impl(rd, range, value);
5991
13.2k
            }
5992
0
            auto crange = get_as_contiguous(range);
5993
0
            SCN_TRY(it, impl(rd, crange, value));
5994
0
            return ranges::next(range.begin(),
5995
0
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
13.2k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
5979
14.5k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
                          basic_contiguous_scan_context<char_type>>) {
5984
            auto rd = make_reader<T, char_type>();
5985
            return impl(rd, range, value);
5986
        }
5987
14.5k
        else if constexpr (!detail::is_type_disabled<T>) {
5988
14.5k
            auto rd = make_reader<T, char_type>();
5989
14.5k
            if (!is_segment_contiguous(range)) {
5990
14.5k
                return impl(rd, range, value);
5991
14.5k
            }
5992
0
            auto crange = get_as_contiguous(range);
5993
0
            SCN_TRY(it, impl(rd, crange, value));
5994
0
            return ranges::next(range.begin(),
5995
0
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
14.5k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long>(unsigned long&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
5979
14.6k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
                          basic_contiguous_scan_context<char_type>>) {
5984
            auto rd = make_reader<T, char_type>();
5985
            return impl(rd, range, value);
5986
        }
5987
14.6k
        else if constexpr (!detail::is_type_disabled<T>) {
5988
14.6k
            auto rd = make_reader<T, char_type>();
5989
14.6k
            if (!is_segment_contiguous(range)) {
5990
14.6k
                return impl(rd, range, value);
5991
14.6k
            }
5992
0
            auto crange = get_as_contiguous(range);
5993
0
            SCN_TRY(it, impl(rd, crange, value));
5994
0
            return ranges::next(range.begin(),
5995
0
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
14.6k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char32_t>(char32_t&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<float>(float&)
Line
Count
Source
5979
52.2k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
                          basic_contiguous_scan_context<char_type>>) {
5984
            auto rd = make_reader<T, char_type>();
5985
            return impl(rd, range, value);
5986
        }
5987
52.2k
        else if constexpr (!detail::is_type_disabled<T>) {
5988
52.2k
            auto rd = make_reader<T, char_type>();
5989
52.2k
            if (!is_segment_contiguous(range)) {
5990
52.2k
                return impl(rd, range, value);
5991
52.2k
            }
5992
0
            auto crange = get_as_contiguous(range);
5993
0
            SCN_TRY(it, impl(rd, crange, value));
5994
0
            return ranges::next(range.begin(),
5995
0
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
52.2k
    }
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<double>(double&)
Line
Count
Source
5979
54.7k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
                          basic_contiguous_scan_context<char_type>>) {
5984
            auto rd = make_reader<T, char_type>();
5985
            return impl(rd, range, value);
5986
        }
5987
54.7k
        else if constexpr (!detail::is_type_disabled<T>) {
5988
54.7k
            auto rd = make_reader<T, char_type>();
5989
54.7k
            if (!is_segment_contiguous(range)) {
5990
54.7k
                return impl(rd, range, value);
5991
54.7k
            }
5992
0
            auto crange = get_as_contiguous(range);
5993
0
            SCN_TRY(it, impl(rd, crange, value));
5994
0
            return ranges::next(range.begin(),
5995
0
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
54.7k
    }
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long double>(long double&)
Line
Count
Source
5979
56.0k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
                          basic_contiguous_scan_context<char_type>>) {
5984
            auto rd = make_reader<T, char_type>();
5985
            return impl(rd, range, value);
5986
        }
5987
56.0k
        else if constexpr (!detail::is_type_disabled<T>) {
5988
56.0k
            auto rd = make_reader<T, char_type>();
5989
56.0k
            if (!is_segment_contiguous(range)) {
5990
56.0k
                return impl(rd, range, value);
5991
56.0k
            }
5992
0
            auto crange = get_as_contiguous(range);
5993
0
            SCN_TRY(it, impl(rd, crange, value));
5994
0
            return ranges::next(range.begin(),
5995
0
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
56.0k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5979
70.9k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
                          basic_contiguous_scan_context<char_type>>) {
5984
            auto rd = make_reader<T, char_type>();
5985
            return impl(rd, range, value);
5986
        }
5987
70.9k
        else if constexpr (!detail::is_type_disabled<T>) {
5988
70.9k
            auto rd = make_reader<T, char_type>();
5989
70.9k
            if (!is_segment_contiguous(range)) {
5990
70.9k
                return impl(rd, range, value);
5991
70.9k
            }
5992
0
            auto crange = get_as_contiguous(range);
5993
0
            SCN_TRY(it, impl(rd, crange, value));
5994
0
            return ranges::next(range.begin(),
5995
0
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
70.9k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<signed char>(signed char&)
Line
Count
Source
5979
4.23k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
4.23k
                          basic_contiguous_scan_context<char_type>>) {
5984
4.23k
            auto rd = make_reader<T, char_type>();
5985
4.23k
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
4.23k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<short>(short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<int>(int&)
Line
Count
Source
5979
4.83k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
4.83k
                          basic_contiguous_scan_context<char_type>>) {
5984
4.83k
            auto rd = make_reader<T, char_type>();
5985
4.83k
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
4.83k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long>(long&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long long>(long long&)
Line
Count
Source
5979
4.28k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
4.28k
                          basic_contiguous_scan_context<char_type>>) {
5984
4.28k
            auto rd = make_reader<T, char_type>();
5985
4.28k
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
4.28k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<__int128>(__int128&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
5979
4.20k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
4.20k
                          basic_contiguous_scan_context<char_type>>) {
5984
4.20k
            auto rd = make_reader<T, char_type>();
5985
4.20k
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
4.20k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
5979
4.80k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
4.80k
                          basic_contiguous_scan_context<char_type>>) {
5984
4.80k
            auto rd = make_reader<T, char_type>();
5985
4.80k
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
4.80k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long>(unsigned long&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
5979
4.25k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
4.25k
                          basic_contiguous_scan_context<char_type>>) {
5984
4.25k
            auto rd = make_reader<T, char_type>();
5985
4.25k
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
4.25k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<void*>(void*&)
Line
Count
Source
5979
576
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
576
                          basic_contiguous_scan_context<char_type>>) {
5984
576
            auto rd = make_reader<T, char_type>();
5985
576
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
576
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<bool>(bool&)
Line
Count
Source
5979
576
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
576
                          basic_contiguous_scan_context<char_type>>) {
5984
576
            auto rd = make_reader<T, char_type>();
5985
576
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
576
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char>(char&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<wchar_t>(wchar_t&)
Line
Count
Source
5979
576
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
576
                          basic_contiguous_scan_context<char_type>>) {
5984
576
            auto rd = make_reader<T, char_type>();
5985
576
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
576
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char32_t>(char32_t&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<float>(float&)
Line
Count
Source
5979
40.3k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
40.3k
                          basic_contiguous_scan_context<char_type>>) {
5984
40.3k
            auto rd = make_reader<T, char_type>();
5985
40.3k
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
40.3k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<double>(double&)
Line
Count
Source
5979
47.3k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
47.3k
                          basic_contiguous_scan_context<char_type>>) {
5984
47.3k
            auto rd = make_reader<T, char_type>();
5985
47.3k
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
47.3k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long double>(long double&)
Line
Count
Source
5979
48.5k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
48.5k
                          basic_contiguous_scan_context<char_type>>) {
5984
48.5k
            auto rd = make_reader<T, char_type>();
5985
48.5k
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
48.5k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5979
576
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
576
                          basic_contiguous_scan_context<char_type>>) {
5984
576
            auto rd = make_reader<T, char_type>();
5985
576
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
576
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5979
409k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
409k
                          basic_contiguous_scan_context<char_type>>) {
5984
409k
            auto rd = make_reader<T, char_type>();
5985
409k
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
409k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5979
409k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
409k
                          basic_contiguous_scan_context<char_type>>) {
5984
409k
            auto rd = make_reader<T, char_type>();
5985
409k
            return impl(rd, range, value);
5986
        }
5987
        else if constexpr (!detail::is_type_disabled<T>) {
5988
            auto rd = make_reader<T, char_type>();
5989
            if (!is_segment_contiguous(range)) {
5990
                return impl(rd, range, value);
5991
            }
5992
            auto crange = get_as_contiguous(range);
5993
            SCN_TRY(it, impl(rd, crange, value));
5994
            return ranges::next(range.begin(),
5995
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
409k
    }
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<signed char>(signed char&)
Line
Count
Source
5979
4.23k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
                          basic_contiguous_scan_context<char_type>>) {
5984
            auto rd = make_reader<T, char_type>();
5985
            return impl(rd, range, value);
5986
        }
5987
4.23k
        else if constexpr (!detail::is_type_disabled<T>) {
5988
4.23k
            auto rd = make_reader<T, char_type>();
5989
4.23k
            if (!is_segment_contiguous(range)) {
5990
4.23k
                return impl(rd, range, value);
5991
4.23k
            }
5992
0
            auto crange = get_as_contiguous(range);
5993
0
            SCN_TRY(it, impl(rd, crange, value));
5994
0
            return ranges::next(range.begin(),
5995
0
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
4.23k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<short>(short&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<int>(int&)
Line
Count
Source
5979
4.25k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
                          basic_contiguous_scan_context<char_type>>) {
5984
            auto rd = make_reader<T, char_type>();
5985
            return impl(rd, range, value);
5986
        }
5987
4.25k
        else if constexpr (!detail::is_type_disabled<T>) {
5988
4.25k
            auto rd = make_reader<T, char_type>();
5989
4.25k
            if (!is_segment_contiguous(range)) {
5990
4.25k
                return impl(rd, range, value);
5991
4.25k
            }
5992
0
            auto crange = get_as_contiguous(range);
5993
0
            SCN_TRY(it, impl(rd, crange, value));
5994
0
            return ranges::next(range.begin(),
5995
0
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
4.25k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long>(long&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long long>(long long&)
Line
Count
Source
5979
4.28k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
                          basic_contiguous_scan_context<char_type>>) {
5984
            auto rd = make_reader<T, char_type>();
5985
            return impl(rd, range, value);
5986
        }
5987
4.28k
        else if constexpr (!detail::is_type_disabled<T>) {
5988
4.28k
            auto rd = make_reader<T, char_type>();
5989
4.28k
            if (!is_segment_contiguous(range)) {
5990
4.28k
                return impl(rd, range, value);
5991
4.28k
            }
5992
0
            auto crange = get_as_contiguous(range);
5993
0
            SCN_TRY(it, impl(rd, crange, value));
5994
0
            return ranges::next(range.begin(),
5995
0
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
4.28k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<__int128>(__int128&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
5979
4.20k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
                          basic_contiguous_scan_context<char_type>>) {
5984
            auto rd = make_reader<T, char_type>();
5985
            return impl(rd, range, value);
5986
        }
5987
4.20k
        else if constexpr (!detail::is_type_disabled<T>) {
5988
4.20k
            auto rd = make_reader<T, char_type>();
5989
4.20k
            if (!is_segment_contiguous(range)) {
5990
4.20k
                return impl(rd, range, value);
5991
4.20k
            }
5992
0
            auto crange = get_as_contiguous(range);
5993
0
            SCN_TRY(it, impl(rd, crange, value));
5994
0
            return ranges::next(range.begin(),
5995
0
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
4.20k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
5979
4.22k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
                          basic_contiguous_scan_context<char_type>>) {
5984
            auto rd = make_reader<T, char_type>();
5985
            return impl(rd, range, value);
5986
        }
5987
4.22k
        else if constexpr (!detail::is_type_disabled<T>) {
5988
4.22k
            auto rd = make_reader<T, char_type>();
5989
4.22k
            if (!is_segment_contiguous(range)) {
5990
4.22k
                return impl(rd, range, value);
5991
4.22k
            }
5992
0
            auto crange = get_as_contiguous(range);
5993
0
            SCN_TRY(it, impl(rd, crange, value));
5994
0
            return ranges::next(range.begin(),
5995
0
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
4.22k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long>(unsigned long&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
5979
4.25k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
                          basic_contiguous_scan_context<char_type>>) {
5984
            auto rd = make_reader<T, char_type>();
5985
            return impl(rd, range, value);
5986
        }
5987
4.25k
        else if constexpr (!detail::is_type_disabled<T>) {
5988
4.25k
            auto rd = make_reader<T, char_type>();
5989
4.25k
            if (!is_segment_contiguous(range)) {
5990
4.25k
                return impl(rd, range, value);
5991
4.25k
            }
5992
0
            auto crange = get_as_contiguous(range);
5993
0
            SCN_TRY(it, impl(rd, crange, value));
5994
0
            return ranges::next(range.begin(),
5995
0
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
4.25k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char32_t>(char32_t&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<float>(float&)
Line
Count
Source
5979
40.3k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
                          basic_contiguous_scan_context<char_type>>) {
5984
            auto rd = make_reader<T, char_type>();
5985
            return impl(rd, range, value);
5986
        }
5987
40.3k
        else if constexpr (!detail::is_type_disabled<T>) {
5988
40.3k
            auto rd = make_reader<T, char_type>();
5989
40.3k
            if (!is_segment_contiguous(range)) {
5990
40.3k
                return impl(rd, range, value);
5991
40.3k
            }
5992
0
            auto crange = get_as_contiguous(range);
5993
0
            SCN_TRY(it, impl(rd, crange, value));
5994
0
            return ranges::next(range.begin(),
5995
0
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
40.3k
    }
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<double>(double&)
Line
Count
Source
5979
46.7k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
                          basic_contiguous_scan_context<char_type>>) {
5984
            auto rd = make_reader<T, char_type>();
5985
            return impl(rd, range, value);
5986
        }
5987
46.7k
        else if constexpr (!detail::is_type_disabled<T>) {
5988
46.7k
            auto rd = make_reader<T, char_type>();
5989
46.7k
            if (!is_segment_contiguous(range)) {
5990
46.7k
                return impl(rd, range, value);
5991
46.7k
            }
5992
0
            auto crange = get_as_contiguous(range);
5993
0
            SCN_TRY(it, impl(rd, crange, value));
5994
0
            return ranges::next(range.begin(),
5995
0
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
46.7k
    }
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long double>(long double&)
Line
Count
Source
5979
48.5k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
                          basic_contiguous_scan_context<char_type>>) {
5984
            auto rd = make_reader<T, char_type>();
5985
            return impl(rd, range, value);
5986
        }
5987
48.5k
        else if constexpr (!detail::is_type_disabled<T>) {
5988
48.5k
            auto rd = make_reader<T, char_type>();
5989
48.5k
            if (!is_segment_contiguous(range)) {
5990
48.5k
                return impl(rd, range, value);
5991
48.5k
            }
5992
0
            auto crange = get_as_contiguous(range);
5993
0
            SCN_TRY(it, impl(rd, crange, value));
5994
0
            return ranges::next(range.begin(),
5995
0
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
48.5k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5979
409k
    {
5980
        if constexpr (!detail::is_type_disabled<T> &&
5981
                      std::is_same_v<
5982
                          context_type,
5983
                          basic_contiguous_scan_context<char_type>>) {
5984
            auto rd = make_reader<T, char_type>();
5985
            return impl(rd, range, value);
5986
        }
5987
409k
        else if constexpr (!detail::is_type_disabled<T>) {
5988
409k
            auto rd = make_reader<T, char_type>();
5989
409k
            if (!is_segment_contiguous(range)) {
5990
409k
                return impl(rd, range, value);
5991
409k
            }
5992
0
            auto crange = get_as_contiguous(range);
5993
0
            SCN_TRY(it, impl(rd, crange, value));
5994
0
            return ranges::next(range.begin(),
5995
0
                                ranges::distance(crange.begin(), it));
5996
        }
5997
        else {
5998
            SCN_EXPECT(false);
5999
            SCN_UNREACHABLE;
6000
        }
6001
409k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
6002
6003
    detail::default_context<char_type> make_custom_ctx()
6004
15.0k
    {
6005
        if constexpr (std::is_same_v<
6006
                          context_type,
6007
7.50k
                          basic_contiguous_scan_context<char_type>>) {
6008
7.50k
            auto it =
6009
7.50k
                typename detail::basic_scan_buffer<char_type>::forward_iterator{
6010
7.50k
                    std::basic_string_view<char_type>(range.data(),
6011
7.50k
                                                      range.size()),
6012
7.50k
                    0};
6013
7.50k
            return {it, args, loc};
6014
        }
6015
7.50k
        else {
6016
7.50k
            return {range.begin(), args, loc};
6017
7.50k
        }
6018
15.0k
    }
scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::make_custom_ctx()
Line
Count
Source
6004
2.50k
    {
6005
        if constexpr (std::is_same_v<
6006
                          context_type,
6007
2.50k
                          basic_contiguous_scan_context<char_type>>) {
6008
2.50k
            auto it =
6009
2.50k
                typename detail::basic_scan_buffer<char_type>::forward_iterator{
6010
2.50k
                    std::basic_string_view<char_type>(range.data(),
6011
2.50k
                                                      range.size()),
6012
2.50k
                    0};
6013
2.50k
            return {it, args, loc};
6014
        }
6015
        else {
6016
            return {range.begin(), args, loc};
6017
        }
6018
2.50k
    }
scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::make_custom_ctx()
Line
Count
Source
6004
2.50k
    {
6005
        if constexpr (std::is_same_v<
6006
                          context_type,
6007
                          basic_contiguous_scan_context<char_type>>) {
6008
            auto it =
6009
                typename detail::basic_scan_buffer<char_type>::forward_iterator{
6010
                    std::basic_string_view<char_type>(range.data(),
6011
                                                      range.size()),
6012
                    0};
6013
            return {it, args, loc};
6014
        }
6015
2.50k
        else {
6016
2.50k
            return {range.begin(), args, loc};
6017
2.50k
        }
6018
2.50k
    }
scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::make_custom_ctx()
Line
Count
Source
6004
5.00k
    {
6005
        if constexpr (std::is_same_v<
6006
                          context_type,
6007
5.00k
                          basic_contiguous_scan_context<char_type>>) {
6008
5.00k
            auto it =
6009
5.00k
                typename detail::basic_scan_buffer<char_type>::forward_iterator{
6010
5.00k
                    std::basic_string_view<char_type>(range.data(),
6011
5.00k
                                                      range.size()),
6012
5.00k
                    0};
6013
5.00k
            return {it, args, loc};
6014
        }
6015
        else {
6016
            return {range.begin(), args, loc};
6017
        }
6018
5.00k
    }
scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::make_custom_ctx()
Line
Count
Source
6004
5.00k
    {
6005
        if constexpr (std::is_same_v<
6006
                          context_type,
6007
                          basic_contiguous_scan_context<char_type>>) {
6008
            auto it =
6009
                typename detail::basic_scan_buffer<char_type>::forward_iterator{
6010
                    std::basic_string_view<char_type>(range.data(),
6011
                                                      range.size()),
6012
                    0};
6013
            return {it, args, loc};
6014
        }
6015
5.00k
        else {
6016
5.00k
            return {range.begin(), args, loc};
6017
5.00k
        }
6018
5.00k
    }
6019
6020
    scan_expected<iterator> operator()(
6021
        typename basic_scan_arg<detail::default_context<char_type>>::handle h)
6022
15.0k
    {
6023
15.0k
        if constexpr (!detail::is_type_disabled<void>) {
6024
15.0k
            basic_scan_parse_context<char_type> parse_ctx{
6025
15.0k
                source_tag<range_type>, {}};
6026
15.0k
            auto ctx = make_custom_ctx();
6027
15.0k
            SCN_TRY_DISCARD(h.scan(parse_ctx, ctx));
6028
6029
            if constexpr (std::is_same_v<
6030
                              context_type,
6031
0
                              basic_contiguous_scan_context<char_type>>) {
6032
0
                return range.begin() + ctx.begin().position();
6033
            }
6034
0
            else {
6035
0
                return ctx.begin();
6036
0
            }
6037
        }
6038
        else {
6039
            SCN_EXPECT(false);
6040
            SCN_UNREACHABLE;
6041
        }
6042
15.0k
    }
scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle)
Line
Count
Source
6022
2.50k
    {
6023
2.50k
        if constexpr (!detail::is_type_disabled<void>) {
6024
2.50k
            basic_scan_parse_context<char_type> parse_ctx{
6025
2.50k
                source_tag<range_type>, {}};
6026
2.50k
            auto ctx = make_custom_ctx();
6027
2.50k
            SCN_TRY_DISCARD(h.scan(parse_ctx, ctx));
6028
6029
            if constexpr (std::is_same_v<
6030
                              context_type,
6031
0
                              basic_contiguous_scan_context<char_type>>) {
6032
0
                return range.begin() + ctx.begin().position();
6033
            }
6034
            else {
6035
                return ctx.begin();
6036
            }
6037
        }
6038
        else {
6039
            SCN_EXPECT(false);
6040
            SCN_UNREACHABLE;
6041
        }
6042
2.50k
    }
scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle)
Line
Count
Source
6022
2.50k
    {
6023
2.50k
        if constexpr (!detail::is_type_disabled<void>) {
6024
2.50k
            basic_scan_parse_context<char_type> parse_ctx{
6025
2.50k
                source_tag<range_type>, {}};
6026
2.50k
            auto ctx = make_custom_ctx();
6027
2.50k
            SCN_TRY_DISCARD(h.scan(parse_ctx, ctx));
6028
6029
            if constexpr (std::is_same_v<
6030
                              context_type,
6031
                              basic_contiguous_scan_context<char_type>>) {
6032
                return range.begin() + ctx.begin().position();
6033
            }
6034
0
            else {
6035
0
                return ctx.begin();
6036
0
            }
6037
        }
6038
        else {
6039
            SCN_EXPECT(false);
6040
            SCN_UNREACHABLE;
6041
        }
6042
2.50k
    }
scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle)
Line
Count
Source
6022
5.00k
    {
6023
5.00k
        if constexpr (!detail::is_type_disabled<void>) {
6024
5.00k
            basic_scan_parse_context<char_type> parse_ctx{
6025
5.00k
                source_tag<range_type>, {}};
6026
5.00k
            auto ctx = make_custom_ctx();
6027
5.00k
            SCN_TRY_DISCARD(h.scan(parse_ctx, ctx));
6028
6029
            if constexpr (std::is_same_v<
6030
                              context_type,
6031
0
                              basic_contiguous_scan_context<char_type>>) {
6032
0
                return range.begin() + ctx.begin().position();
6033
            }
6034
            else {
6035
                return ctx.begin();
6036
            }
6037
        }
6038
        else {
6039
            SCN_EXPECT(false);
6040
            SCN_UNREACHABLE;
6041
        }
6042
5.00k
    }
scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle)
Line
Count
Source
6022
5.00k
    {
6023
5.00k
        if constexpr (!detail::is_type_disabled<void>) {
6024
5.00k
            basic_scan_parse_context<char_type> parse_ctx{
6025
5.00k
                source_tag<range_type>, {}};
6026
5.00k
            auto ctx = make_custom_ctx();
6027
5.00k
            SCN_TRY_DISCARD(h.scan(parse_ctx, ctx));
6028
6029
            if constexpr (std::is_same_v<
6030
                              context_type,
6031
                              basic_contiguous_scan_context<char_type>>) {
6032
                return range.begin() + ctx.begin().position();
6033
            }
6034
0
            else {
6035
0
                return ctx.begin();
6036
0
            }
6037
        }
6038
        else {
6039
            SCN_EXPECT(false);
6040
            SCN_UNREACHABLE;
6041
        }
6042
5.00k
    }
6043
6044
    range_type range;
6045
    args_type args;
6046
    detail::locale_ref loc;
6047
};
6048
6049
template <typename Iterator>
6050
using skip_fill_result = std::pair<Iterator, std::ptrdiff_t>;
6051
6052
template <typename Range>
6053
auto skip_fill(Range range,
6054
               std::ptrdiff_t max_width,
6055
               const detail::fill_type& fill,
6056
               bool want_skipped_width)
6057
    -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6058
4.57k
{
6059
4.57k
    using char_type = detail::char_t<Range>;
6060
4.57k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6061
6062
4.57k
    if (fill.size() <= sizeof(char_type)) {
6063
3.07k
        const auto fill_ch = fill.template get_code_unit<char_type>();
6064
4.80k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
_ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Line
Count
Source
6064
926
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
_ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Line
Count
Source
6064
2.24k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
_ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Line
Count
Source
6064
804
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
_ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Line
Count
Source
6064
830
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6065
6066
3.07k
        if (max_width == 0) {
6067
1.61k
            auto it = read_while_code_unit(range, pred);
6068
6069
1.61k
            if (want_skipped_width) {
6070
268
                auto prefix_width =
6071
268
                    static_cast<std::ptrdiff_t>(
6072
268
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6073
268
                    ranges::distance(range.begin(), it);
6074
268
                return result_type{it, prefix_width};
6075
268
            }
6076
1.34k
            return result_type{it, 0};
6077
1.61k
        }
6078
6079
1.45k
        auto max_width_view = take_width(range, max_width);
6080
1.45k
        auto w_it = read_while_code_unit(max_width_view, pred);
6081
6082
1.45k
        if (want_skipped_width) {
6083
1.45k
            return result_type{w_it.base(), max_width - w_it.count()};
6084
1.45k
        }
6085
0
        return result_type{w_it.base(), 0};
6086
1.45k
    }
6087
6088
1.50k
    const auto fill_chars = fill.template get_code_units<char_type>();
6089
1.50k
    if (max_width == 0) {
6090
378
        auto it = read_while_code_units(range, fill_chars);
6091
6092
378
        if (want_skipped_width) {
6093
142
            auto prefix_width =
6094
142
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6095
142
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6096
142
            return result_type{it, prefix_width};
6097
142
        }
6098
236
        return result_type{it, 0};
6099
378
    }
6100
6101
1.12k
    auto max_width_view = take_width(range, max_width);
6102
1.12k
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6103
6104
1.12k
    if (want_skipped_width) {
6105
1.12k
        return result_type{w_it.base(), max_width - w_it.count()};
6106
1.12k
    }
6107
0
    return result_type{w_it.base(), 0};
6108
1.12k
}
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEb
_ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6058
1.22k
{
6059
1.22k
    using char_type = detail::char_t<Range>;
6060
1.22k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6061
6062
1.22k
    if (fill.size() <= sizeof(char_type)) {
6063
508
        const auto fill_ch = fill.template get_code_unit<char_type>();
6064
508
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6065
6066
508
        if (max_width == 0) {
6067
404
            auto it = read_while_code_unit(range, pred);
6068
6069
404
            if (want_skipped_width) {
6070
130
                auto prefix_width =
6071
130
                    static_cast<std::ptrdiff_t>(
6072
130
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6073
130
                    ranges::distance(range.begin(), it);
6074
130
                return result_type{it, prefix_width};
6075
130
            }
6076
274
            return result_type{it, 0};
6077
404
        }
6078
6079
104
        auto max_width_view = take_width(range, max_width);
6080
104
        auto w_it = read_while_code_unit(max_width_view, pred);
6081
6082
104
        if (want_skipped_width) {
6083
104
            return result_type{w_it.base(), max_width - w_it.count()};
6084
104
        }
6085
0
        return result_type{w_it.base(), 0};
6086
104
    }
6087
6088
720
    const auto fill_chars = fill.template get_code_units<char_type>();
6089
720
    if (max_width == 0) {
6090
378
        auto it = read_while_code_units(range, fill_chars);
6091
6092
378
        if (want_skipped_width) {
6093
142
            auto prefix_width =
6094
142
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6095
142
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6096
142
            return result_type{it, prefix_width};
6097
142
        }
6098
236
        return result_type{it, 0};
6099
378
    }
6100
6101
342
    auto max_width_view = take_width(range, max_width);
6102
342
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6103
6104
342
    if (want_skipped_width) {
6105
342
        return result_type{w_it.base(), max_width - w_it.count()};
6106
342
    }
6107
0
    return result_type{w_it.base(), 0};
6108
342
}
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEb
_ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6058
1.40k
{
6059
1.40k
    using char_type = detail::char_t<Range>;
6060
1.40k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6061
6062
1.40k
    if (fill.size() <= sizeof(char_type)) {
6063
1.40k
        const auto fill_ch = fill.template get_code_unit<char_type>();
6064
1.40k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6065
6066
1.40k
        if (max_width == 0) {
6067
1.21k
            auto it = read_while_code_unit(range, pred);
6068
6069
1.21k
            if (want_skipped_width) {
6070
138
                auto prefix_width =
6071
138
                    static_cast<std::ptrdiff_t>(
6072
138
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6073
138
                    ranges::distance(range.begin(), it);
6074
138
                return result_type{it, prefix_width};
6075
138
            }
6076
1.07k
            return result_type{it, 0};
6077
1.21k
        }
6078
6079
198
        auto max_width_view = take_width(range, max_width);
6080
198
        auto w_it = read_while_code_unit(max_width_view, pred);
6081
6082
198
        if (want_skipped_width) {
6083
198
            return result_type{w_it.base(), max_width - w_it.count()};
6084
198
        }
6085
0
        return result_type{w_it.base(), 0};
6086
198
    }
6087
6088
0
    const auto fill_chars = fill.template get_code_units<char_type>();
6089
0
    if (max_width == 0) {
6090
0
        auto it = read_while_code_units(range, fill_chars);
6091
6092
0
        if (want_skipped_width) {
6093
0
            auto prefix_width =
6094
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6095
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6096
0
            return result_type{it, prefix_width};
6097
0
        }
6098
0
        return result_type{it, 0};
6099
0
    }
6100
6101
0
    auto max_width_view = take_width(range, max_width);
6102
0
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6103
6104
0
    if (want_skipped_width) {
6105
0
        return result_type{w_it.base(), max_width - w_it.count()};
6106
0
    }
6107
0
    return result_type{w_it.base(), 0};
6108
0
}
_ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6058
1.37k
{
6059
1.37k
    using char_type = detail::char_t<Range>;
6060
1.37k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6061
6062
1.37k
    if (fill.size() <= sizeof(char_type)) {
6063
588
        const auto fill_ch = fill.template get_code_unit<char_type>();
6064
588
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6065
6066
588
        if (max_width == 0) {
6067
0
            auto it = read_while_code_unit(range, pred);
6068
6069
0
            if (want_skipped_width) {
6070
0
                auto prefix_width =
6071
0
                    static_cast<std::ptrdiff_t>(
6072
0
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6073
0
                    ranges::distance(range.begin(), it);
6074
0
                return result_type{it, prefix_width};
6075
0
            }
6076
0
            return result_type{it, 0};
6077
0
        }
6078
6079
588
        auto max_width_view = take_width(range, max_width);
6080
588
        auto w_it = read_while_code_unit(max_width_view, pred);
6081
6082
588
        if (want_skipped_width) {
6083
588
            return result_type{w_it.base(), max_width - w_it.count()};
6084
588
        }
6085
0
        return result_type{w_it.base(), 0};
6086
588
    }
6087
6088
782
    const auto fill_chars = fill.template get_code_units<char_type>();
6089
782
    if (max_width == 0) {
6090
0
        auto it = read_while_code_units(range, fill_chars);
6091
6092
0
        if (want_skipped_width) {
6093
0
            auto prefix_width =
6094
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6095
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6096
0
            return result_type{it, prefix_width};
6097
0
        }
6098
0
        return result_type{it, 0};
6099
0
    }
6100
6101
782
    auto max_width_view = take_width(range, max_width);
6102
782
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6103
6104
782
    if (want_skipped_width) {
6105
782
        return result_type{w_it.base(), max_width - w_it.count()};
6106
782
    }
6107
0
    return result_type{w_it.base(), 0};
6108
782
}
_ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6058
566
{
6059
566
    using char_type = detail::char_t<Range>;
6060
566
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6061
6062
566
    if (fill.size() <= sizeof(char_type)) {
6063
566
        const auto fill_ch = fill.template get_code_unit<char_type>();
6064
566
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6065
6066
566
        if (max_width == 0) {
6067
0
            auto it = read_while_code_unit(range, pred);
6068
6069
0
            if (want_skipped_width) {
6070
0
                auto prefix_width =
6071
0
                    static_cast<std::ptrdiff_t>(
6072
0
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6073
0
                    ranges::distance(range.begin(), it);
6074
0
                return result_type{it, prefix_width};
6075
0
            }
6076
0
            return result_type{it, 0};
6077
0
        }
6078
6079
566
        auto max_width_view = take_width(range, max_width);
6080
566
        auto w_it = read_while_code_unit(max_width_view, pred);
6081
6082
566
        if (want_skipped_width) {
6083
566
            return result_type{w_it.base(), max_width - w_it.count()};
6084
566
        }
6085
0
        return result_type{w_it.base(), 0};
6086
566
    }
6087
6088
0
    const auto fill_chars = fill.template get_code_units<char_type>();
6089
0
    if (max_width == 0) {
6090
0
        auto it = read_while_code_units(range, fill_chars);
6091
6092
0
        if (want_skipped_width) {
6093
0
            auto prefix_width =
6094
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6095
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6096
0
            return result_type{it, prefix_width};
6097
0
        }
6098
0
        return result_type{it, 0};
6099
0
    }
6100
6101
0
    auto max_width_view = take_width(range, max_width);
6102
0
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6103
6104
0
    if (want_skipped_width) {
6105
0
        return result_type{w_it.base(), max_width - w_it.count()};
6106
0
    }
6107
0
    return result_type{w_it.base(), 0};
6108
0
}
6109
6110
SCN_MAYBE_UNUSED constexpr scan_expected<void> check_widths_for_arg_reader(
6111
    const detail::format_specs& specs,
6112
    std::ptrdiff_t prefix_width,
6113
    std::ptrdiff_t value_width,
6114
    std::ptrdiff_t postfix_width)
6115
2.77M
{
6116
2.77M
    if (specs.width != 0) {
6117
2.28k
        if (prefix_width + value_width + postfix_width < specs.width) {
6118
964
            return detail::unexpected_scan_error(
6119
964
                scan_error::length_too_short,
6120
964
                "Scanned value too narrow, width did not exceed what "
6121
964
                "was specified in the format string");
6122
964
        }
6123
2.28k
    }
6124
2.77M
    if (specs.precision != 0) {
6125
        // Ensured by take_width_view
6126
3.11k
        SCN_ENSURE(prefix_width + value_width + postfix_width <=
6127
3.11k
                   specs.precision);
6128
3.11k
    }
6129
2.77M
    return {};
6130
2.77M
}
6131
6132
template <typename Context>
6133
struct arg_reader {
6134
    using context_type = Context;
6135
    using char_type = typename context_type::char_type;
6136
6137
    using range_type = typename context_type::range_type;
6138
    using iterator = ranges::iterator_t<range_type>;
6139
6140
    template <typename Range>
6141
    auto impl_prefix(Range rng, bool rd_skip_ws_before_read)
6142
        -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6143
3.42M
    {
6144
3.42M
        const bool need_skipped_width =
6145
3.42M
            specs.width != 0 || specs.precision != 0;
6146
3.42M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6147
6148
        // Read prefix
6149
3.42M
        if (specs.align == detail::align_type::right ||
6150
3.42M
            specs.align == detail::align_type::center) {
6151
3.26k
            return skip_fill(rng, specs.precision, specs.fill,
6152
3.26k
                             need_skipped_width);
6153
3.26k
        }
6154
3.42M
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6155
            // Default alignment:
6156
            // Skip preceding whitespace, if required by the reader
6157
3.39M
            if (specs.precision != 0) {
6158
4.23k
                auto max_width_view = take_width(rng, specs.precision);
6159
4.23k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6160
3.86k
                                  .transform_error(make_eof_scan_error));
6161
3.86k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6162
4.23k
            }
6163
6.73M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6164
6.73M
                            make_eof_scan_error));
6165
6166
6.73M
            if (need_skipped_width) {
6167
3.06k
                return result_type{
6168
3.06k
                    it,
6169
3.06k
                    calculate_text_width(make_contiguous_buffer(
6170
3.06k
                                             ranges::subrange{rng.begin(), it})
6171
3.06k
                                             .view())};
6172
3.06k
            }
6173
3.34M
            return result_type{it, 0};
6174
6.73M
        }
6175
6176
27.8k
        return result_type{rng.begin(), 0};
6177
3.42M
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRT_EEEElEEEESN_b
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_b
Line
Count
Source
6143
812k
    {
6144
812k
        const bool need_skipped_width =
6145
812k
            specs.width != 0 || specs.precision != 0;
6146
812k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6147
6148
        // Read prefix
6149
812k
        if (specs.align == detail::align_type::right ||
6150
812k
            specs.align == detail::align_type::center) {
6151
0
            return skip_fill(rng, specs.precision, specs.fill,
6152
0
                             need_skipped_width);
6153
0
        }
6154
812k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6155
            // Default alignment:
6156
            // Skip preceding whitespace, if required by the reader
6157
810k
            if (specs.precision != 0) {
6158
0
                auto max_width_view = take_width(rng, specs.precision);
6159
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6160
0
                                  .transform_error(make_eof_scan_error));
6161
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6162
0
            }
6163
1.60M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6164
1.60M
                            make_eof_scan_error));
6165
6166
1.60M
            if (need_skipped_width) {
6167
0
                return result_type{
6168
0
                    it,
6169
0
                    calculate_text_width(make_contiguous_buffer(
6170
0
                                             ranges::subrange{rng.begin(), it})
6171
0
                                             .view())};
6172
0
            }
6173
792k
            return result_type{it, 0};
6174
1.60M
        }
6175
6176
2.37k
        return result_type{rng.begin(), 0};
6177
812k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINS1_15take_width_viewINSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEEENS0_13scan_expectedINSA_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEEENS0_13scan_expectedINS9_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRT_EEEElEEEESN_b
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_b
Line
Count
Source
6143
753k
    {
6144
753k
        const bool need_skipped_width =
6145
753k
            specs.width != 0 || specs.precision != 0;
6146
753k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6147
6148
        // Read prefix
6149
753k
        if (specs.align == detail::align_type::right ||
6150
753k
            specs.align == detail::align_type::center) {
6151
0
            return skip_fill(rng, specs.precision, specs.fill,
6152
0
                             need_skipped_width);
6153
0
        }
6154
753k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6155
            // Default alignment:
6156
            // Skip preceding whitespace, if required by the reader
6157
749k
            if (specs.precision != 0) {
6158
0
                auto max_width_view = take_width(rng, specs.precision);
6159
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6160
0
                                  .transform_error(make_eof_scan_error));
6161
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6162
0
            }
6163
1.49M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6164
1.49M
                            make_eof_scan_error));
6165
6166
1.49M
            if (need_skipped_width) {
6167
0
                return result_type{
6168
0
                    it,
6169
0
                    calculate_text_width(make_contiguous_buffer(
6170
0
                                             ranges::subrange{rng.begin(), it})
6171
0
                                             .view())};
6172
0
            }
6173
744k
            return result_type{it, 0};
6174
1.49M
        }
6175
6176
3.56k
        return result_type{rng.begin(), 0};
6177
753k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINS1_15take_width_viewINSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEEENS0_13scan_expectedINSA_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEEENS0_13scan_expectedINS9_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE11impl_prefixINS1_15take_width_viewISA_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Line
Count
Source
6143
6.19k
    {
6144
6.19k
        const bool need_skipped_width =
6145
6.19k
            specs.width != 0 || specs.precision != 0;
6146
6.19k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6147
6148
        // Read prefix
6149
6.19k
        if (specs.align == detail::align_type::right ||
6150
6.19k
            specs.align == detail::align_type::center) {
6151
1.37k
            return skip_fill(rng, specs.precision, specs.fill,
6152
1.37k
                             need_skipped_width);
6153
1.37k
        }
6154
4.82k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6155
            // Default alignment:
6156
            // Skip preceding whitespace, if required by the reader
6157
2.55k
            if (specs.precision != 0) {
6158
2.55k
                auto max_width_view = take_width(rng, specs.precision);
6159
2.55k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6160
2.31k
                                  .transform_error(make_eof_scan_error));
6161
2.31k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6162
2.55k
            }
6163
0
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6164
0
                            make_eof_scan_error));
6165
6166
0
            if (need_skipped_width) {
6167
0
                return result_type{
6168
0
                    it,
6169
0
                    calculate_text_width(make_contiguous_buffer(
6170
0
                                             ranges::subrange{rng.begin(), it})
6171
0
                                             .view())};
6172
0
            }
6173
0
            return result_type{it, 0};
6174
0
        }
6175
6176
2.26k
        return result_type{rng.begin(), 0};
6177
4.82k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE11impl_prefixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Line
Count
Source
6143
815k
    {
6144
815k
        const bool need_skipped_width =
6145
815k
            specs.width != 0 || specs.precision != 0;
6146
815k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6147
6148
        // Read prefix
6149
815k
        if (specs.align == detail::align_type::right ||
6150
815k
            specs.align == detail::align_type::center) {
6151
540
            return skip_fill(rng, specs.precision, specs.fill,
6152
540
                             need_skipped_width);
6153
540
        }
6154
815k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6155
            // Default alignment:
6156
            // Skip preceding whitespace, if required by the reader
6157
804k
            if (specs.precision != 0) {
6158
0
                auto max_width_view = take_width(rng, specs.precision);
6159
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6160
0
                                  .transform_error(make_eof_scan_error));
6161
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6162
0
            }
6163
1.59M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6164
1.59M
                            make_eof_scan_error));
6165
6166
1.59M
            if (need_skipped_width) {
6167
1.11k
                return result_type{
6168
1.11k
                    it,
6169
1.11k
                    calculate_text_width(make_contiguous_buffer(
6170
1.11k
                                             ranges::subrange{rng.begin(), it})
6171
1.11k
                                             .view())};
6172
1.11k
            }
6173
787k
            return result_type{it, 0};
6174
1.59M
        }
6175
6176
10.1k
        return result_type{rng.begin(), 0};
6177
815k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE11impl_prefixINS1_15take_width_viewISA_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Line
Count
Source
6143
3.11k
    {
6144
3.11k
        const bool need_skipped_width =
6145
3.11k
            specs.width != 0 || specs.precision != 0;
6146
3.11k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6147
6148
        // Read prefix
6149
3.11k
        if (specs.align == detail::align_type::right ||
6150
3.11k
            specs.align == detail::align_type::center) {
6151
566
            return skip_fill(rng, specs.precision, specs.fill,
6152
566
                             need_skipped_width);
6153
566
        }
6154
2.54k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6155
            // Default alignment:
6156
            // Skip preceding whitespace, if required by the reader
6157
1.67k
            if (specs.precision != 0) {
6158
1.67k
                auto max_width_view = take_width(rng, specs.precision);
6159
1.67k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6160
1.55k
                                  .transform_error(make_eof_scan_error));
6161
1.55k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6162
1.67k
            }
6163
0
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6164
0
                            make_eof_scan_error));
6165
6166
0
            if (need_skipped_width) {
6167
0
                return result_type{
6168
0
                    it,
6169
0
                    calculate_text_width(make_contiguous_buffer(
6170
0
                                             ranges::subrange{rng.begin(), it})
6171
0
                                             .view())};
6172
0
            }
6173
0
            return result_type{it, 0};
6174
0
        }
6175
6176
870
        return result_type{rng.begin(), 0};
6177
2.54k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE11impl_prefixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Line
Count
Source
6143
1.03M
    {
6144
1.03M
        const bool need_skipped_width =
6145
1.03M
            specs.width != 0 || specs.precision != 0;
6146
1.03M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6147
6148
        // Read prefix
6149
1.03M
        if (specs.align == detail::align_type::right ||
6150
1.03M
            specs.align == detail::align_type::center) {
6151
784
            return skip_fill(rng, specs.precision, specs.fill,
6152
784
                             need_skipped_width);
6153
784
        }
6154
1.03M
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6155
            // Default alignment:
6156
            // Skip preceding whitespace, if required by the reader
6157
1.02M
            if (specs.precision != 0) {
6158
0
                auto max_width_view = take_width(rng, specs.precision);
6159
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6160
0
                                  .transform_error(make_eof_scan_error));
6161
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6162
0
            }
6163
2.04M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6164
2.04M
                            make_eof_scan_error));
6165
6166
2.04M
            if (need_skipped_width) {
6167
1.94k
                return result_type{
6168
1.94k
                    it,
6169
1.94k
                    calculate_text_width(make_contiguous_buffer(
6170
1.94k
                                             ranges::subrange{rng.begin(), it})
6171
1.94k
                                             .view())};
6172
1.94k
            }
6173
1.01M
            return result_type{it, 0};
6174
2.04M
        }
6175
6176
8.55k
        return result_type{rng.begin(), 0};
6177
1.03M
    }
6178
6179
    template <typename Range>
6180
    auto impl_postfix(Range rng,
6181
                      bool rd_skip_ws_before_read,
6182
                      std::ptrdiff_t prefix_width,
6183
                      std::ptrdiff_t value_width)
6184
        -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6185
2.74M
    {
6186
2.74M
        const bool need_skipped_width =
6187
2.74M
            specs.width != 0 || specs.precision != 0;
6188
2.74M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6189
6190
2.74M
        if (specs.align == detail::align_type::left ||
6191
2.74M
            specs.align == detail::align_type::center) {
6192
1.60k
            if (specs.precision != 0 &&
6193
1.60k
                specs.precision - value_width - prefix_width == 0) {
6194
290
                return result_type{rng.begin(), 0};
6195
290
            }
6196
1.31k
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6197
1.31k
                             specs.fill, need_skipped_width);
6198
1.60k
        }
6199
2.74M
        if (specs.align == detail::align_type::none &&
6200
2.74M
            !rd_skip_ws_before_read &&
6201
2.74M
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6202
7.20k
             (specs.precision != 0 &&
6203
6.64k
              prefix_width + value_width < specs.precision))) {
6204
1.71k
            if (specs.precision != 0) {
6205
1.15k
                const auto initial_width =
6206
1.15k
                    specs.precision - prefix_width - value_width;
6207
1.15k
                auto max_width_view = take_width(rng, initial_width);
6208
1.15k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6209
1.15k
                                  .transform_error(make_eof_scan_error));
6210
1.15k
                return result_type{w_it.base(), initial_width - w_it.count()};
6211
1.15k
            }
6212
1.11k
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6213
1.11k
                            make_eof_scan_error));
6214
6215
1.11k
            if (need_skipped_width) {
6216
558
                return result_type{
6217
558
                    it,
6218
558
                    calculate_text_width(make_contiguous_buffer(
6219
558
                                             ranges::subrange{rng.begin(), it})
6220
558
                                             .view())};
6221
558
            }
6222
0
            return result_type{it, 0};
6223
1.11k
        }
6224
2.73M
        return result_type{rng.begin(), 0};
6225
2.74M
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_bll
Line
Count
Source
6185
695k
    {
6186
695k
        const bool need_skipped_width =
6187
695k
            specs.width != 0 || specs.precision != 0;
6188
695k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6189
6190
695k
        if (specs.align == detail::align_type::left ||
6191
695k
            specs.align == detail::align_type::center) {
6192
0
            if (specs.precision != 0 &&
6193
0
                specs.precision - value_width - prefix_width == 0) {
6194
0
                return result_type{rng.begin(), 0};
6195
0
            }
6196
0
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6197
0
                             specs.fill, need_skipped_width);
6198
0
        }
6199
695k
        if (specs.align == detail::align_type::none &&
6200
695k
            !rd_skip_ws_before_read &&
6201
695k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6202
612
             (specs.precision != 0 &&
6203
612
              prefix_width + value_width < specs.precision))) {
6204
0
            if (specs.precision != 0) {
6205
0
                const auto initial_width =
6206
0
                    specs.precision - prefix_width - value_width;
6207
0
                auto max_width_view = take_width(rng, initial_width);
6208
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6209
0
                                  .transform_error(make_eof_scan_error));
6210
0
                return result_type{w_it.base(), initial_width - w_it.count()};
6211
0
            }
6212
0
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6213
0
                            make_eof_scan_error));
6214
6215
0
            if (need_skipped_width) {
6216
0
                return result_type{
6217
0
                    it,
6218
0
                    calculate_text_width(make_contiguous_buffer(
6219
0
                                             ranges::subrange{rng.begin(), it})
6220
0
                                             .view())};
6221
0
            }
6222
0
            return result_type{it, 0};
6223
0
        }
6224
695k
        return result_type{rng.begin(), 0};
6225
695k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_bll
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_bll
Line
Count
Source
6185
541k
    {
6186
541k
        const bool need_skipped_width =
6187
541k
            specs.width != 0 || specs.precision != 0;
6188
541k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6189
6190
541k
        if (specs.align == detail::align_type::left ||
6191
541k
            specs.align == detail::align_type::center) {
6192
0
            if (specs.precision != 0 &&
6193
0
                specs.precision - value_width - prefix_width == 0) {
6194
0
                return result_type{rng.begin(), 0};
6195
0
            }
6196
0
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6197
0
                             specs.fill, need_skipped_width);
6198
0
        }
6199
541k
        if (specs.align == detail::align_type::none &&
6200
541k
            !rd_skip_ws_before_read &&
6201
541k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6202
90
             (specs.precision != 0 &&
6203
90
              prefix_width + value_width < specs.precision))) {
6204
0
            if (specs.precision != 0) {
6205
0
                const auto initial_width =
6206
0
                    specs.precision - prefix_width - value_width;
6207
0
                auto max_width_view = take_width(rng, initial_width);
6208
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6209
0
                                  .transform_error(make_eof_scan_error));
6210
0
                return result_type{w_it.base(), initial_width - w_it.count()};
6211
0
            }
6212
0
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6213
0
                            make_eof_scan_error));
6214
6215
0
            if (need_skipped_width) {
6216
0
                return result_type{
6217
0
                    it,
6218
0
                    calculate_text_width(make_contiguous_buffer(
6219
0
                                             ranges::subrange{rng.begin(), it})
6220
0
                                             .view())};
6221
0
            }
6222
0
            return result_type{it, 0};
6223
0
        }
6224
541k
        return result_type{rng.begin(), 0};
6225
541k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_bll
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE12impl_postfixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Line
Count
Source
6185
692k
    {
6186
692k
        const bool need_skipped_width =
6187
692k
            specs.width != 0 || specs.precision != 0;
6188
692k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6189
6190
692k
        if (specs.align == detail::align_type::left ||
6191
692k
            specs.align == detail::align_type::center) {
6192
842
            if (specs.precision != 0 &&
6193
842
                specs.precision - value_width - prefix_width == 0) {
6194
154
                return result_type{rng.begin(), 0};
6195
154
            }
6196
688
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6197
688
                             specs.fill, need_skipped_width);
6198
842
        }
6199
691k
        if (specs.align == detail::align_type::none &&
6200
691k
            !rd_skip_ws_before_read &&
6201
691k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6202
4.75k
             (specs.precision != 0 &&
6203
4.58k
              prefix_width + value_width < specs.precision))) {
6204
806
            if (specs.precision != 0) {
6205
640
                const auto initial_width =
6206
640
                    specs.precision - prefix_width - value_width;
6207
640
                auto max_width_view = take_width(rng, initial_width);
6208
640
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6209
640
                                  .transform_error(make_eof_scan_error));
6210
640
                return result_type{w_it.base(), initial_width - w_it.count()};
6211
640
            }
6212
332
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6213
332
                            make_eof_scan_error));
6214
6215
332
            if (need_skipped_width) {
6216
166
                return result_type{
6217
166
                    it,
6218
166
                    calculate_text_width(make_contiguous_buffer(
6219
166
                                             ranges::subrange{rng.begin(), it})
6220
166
                                             .view())};
6221
166
            }
6222
0
            return result_type{it, 0};
6223
332
        }
6224
690k
        return result_type{rng.begin(), 0};
6225
691k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE12impl_postfixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Line
Count
Source
6185
812k
    {
6186
812k
        const bool need_skipped_width =
6187
812k
            specs.width != 0 || specs.precision != 0;
6188
812k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6189
6190
812k
        if (specs.align == detail::align_type::left ||
6191
812k
            specs.align == detail::align_type::center) {
6192
760
            if (specs.precision != 0 &&
6193
760
                specs.precision - value_width - prefix_width == 0) {
6194
136
                return result_type{rng.begin(), 0};
6195
136
            }
6196
624
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6197
624
                             specs.fill, need_skipped_width);
6198
760
        }
6199
812k
        if (specs.align == detail::align_type::none &&
6200
812k
            !rd_skip_ws_before_read &&
6201
812k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6202
1.74k
             (specs.precision != 0 &&
6203
1.35k
              prefix_width + value_width < specs.precision))) {
6204
906
            if (specs.precision != 0) {
6205
514
                const auto initial_width =
6206
514
                    specs.precision - prefix_width - value_width;
6207
514
                auto max_width_view = take_width(rng, initial_width);
6208
514
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6209
514
                                  .transform_error(make_eof_scan_error));
6210
514
                return result_type{w_it.base(), initial_width - w_it.count()};
6211
514
            }
6212
784
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6213
784
                            make_eof_scan_error));
6214
6215
784
            if (need_skipped_width) {
6216
392
                return result_type{
6217
392
                    it,
6218
392
                    calculate_text_width(make_contiguous_buffer(
6219
392
                                             ranges::subrange{rng.begin(), it})
6220
392
                                             .view())};
6221
392
            }
6222
0
            return result_type{it, 0};
6223
784
        }
6224
811k
        return result_type{rng.begin(), 0};
6225
812k
    }
6226
6227
    template <typename Reader, typename Range, typename T>
6228
    auto impl(Reader& rd, Range rng, T& value)
6229
        -> scan_expected<ranges::iterator_t<Range>>
6230
3.42M
    {
6231
3.42M
        const bool need_skipped_width =
6232
3.42M
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
3.42M
        auto it = rng.begin();
6236
3.42M
        std::ptrdiff_t prefix_width = 0;
6237
3.42M
        if (specs.precision != 0) {
6238
9.30k
            auto max_width_view = take_width(rng, specs.precision);
6239
9.30k
            SCN_TRY(prefix_result,
6240
8.93k
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
8.93k
            it = prefix_result.first.base();
6242
8.93k
            prefix_width = prefix_result.second;
6243
8.93k
        }
6244
3.41M
        else {
6245
3.41M
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
3.37M
            std::tie(it, prefix_width) = prefix_result;
6247
3.37M
        }
6248
3.38M
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
3.38M
        std::ptrdiff_t value_width = 0;
6252
3.38M
        if (specs.precision != 0) {
6253
8.93k
            if (specs.precision <= prefix_width) {
6254
104
                return detail::unexpected_scan_error(
6255
104
                    scan_error::invalid_fill,
6256
104
                    "Too many fill characters before value, "
6257
104
                    "precision exceeded before reading value");
6258
104
            }
6259
6260
8.83k
            const auto initial_width = specs.precision - prefix_width;
6261
8.83k
            auto max_width_view =
6262
8.83k
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
8.83k
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
3.11k
            it = w_it.base();
6265
3.11k
            value_width = initial_width - w_it.count();
6266
3.11k
        }
6267
3.37M
        else {
6268
3.37M
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
2.77M
                                             specs, value, loc));
6270
6271
2.77M
            if (need_skipped_width) {
6272
2.23k
                value_width = calculate_text_width(
6273
2.23k
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
2.23k
                        .view());
6275
2.23k
            }
6276
2.77M
        }
6277
6278
        // Read postfix
6279
2.77M
        std::ptrdiff_t postfix_width = 0;
6280
2.77M
        if (it != rng.end()) {
6281
2.74M
            SCN_TRY(postfix_result,
6282
2.74M
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
2.74M
                                 rd.skip_ws_before_read(), prefix_width,
6284
2.74M
                                 value_width));
6285
2.74M
            std::tie(it, postfix_width) = postfix_result;
6286
2.74M
        }
6287
6288
2.77M
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
2.77M
            specs, prefix_width, value_width, postfix_width));
6290
2.77M
        return it;
6291
2.77M
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
6230
53.2k
    {
6231
53.2k
        const bool need_skipped_width =
6232
53.2k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
53.2k
        auto it = rng.begin();
6236
53.2k
        std::ptrdiff_t prefix_width = 0;
6237
53.2k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
53.2k
        else {
6245
53.2k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
51.7k
            std::tie(it, prefix_width) = prefix_result;
6247
51.7k
        }
6248
51.7k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
51.7k
        std::ptrdiff_t value_width = 0;
6252
51.7k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
51.7k
        else {
6268
51.7k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
44.9k
                                             specs, value, loc));
6270
6271
44.9k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
44.9k
        }
6277
6278
        // Read postfix
6279
44.9k
        std::ptrdiff_t postfix_width = 0;
6280
44.9k
        if (it != rng.end()) {
6281
43.9k
            SCN_TRY(postfix_result,
6282
43.9k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
43.9k
                                 rd.skip_ws_before_read(), prefix_width,
6284
43.9k
                                 value_width));
6285
43.9k
            std::tie(it, postfix_width) = postfix_result;
6286
43.9k
        }
6287
6288
44.9k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
44.9k
            specs, prefix_width, value_width, postfix_width));
6290
44.9k
        return it;
6291
44.9k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
6230
63.2k
    {
6231
63.2k
        const bool need_skipped_width =
6232
63.2k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
63.2k
        auto it = rng.begin();
6236
63.2k
        std::ptrdiff_t prefix_width = 0;
6237
63.2k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
63.2k
        else {
6245
63.2k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
61.2k
            std::tie(it, prefix_width) = prefix_result;
6247
61.2k
        }
6248
61.2k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
61.2k
        std::ptrdiff_t value_width = 0;
6252
61.2k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
61.2k
        else {
6268
61.2k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
55.0k
                                             specs, value, loc));
6270
6271
55.0k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
55.0k
        }
6277
6278
        // Read postfix
6279
55.0k
        std::ptrdiff_t postfix_width = 0;
6280
55.0k
        if (it != rng.end()) {
6281
53.6k
            SCN_TRY(postfix_result,
6282
53.6k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
53.6k
                                 rd.skip_ws_before_read(), prefix_width,
6284
53.6k
                                 value_width));
6285
53.6k
            std::tie(it, postfix_width) = postfix_result;
6286
53.6k
        }
6287
6288
55.0k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
55.0k
            specs, prefix_width, value_width, postfix_width));
6290
55.0k
        return it;
6291
55.0k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
6230
64.4k
    {
6231
64.4k
        const bool need_skipped_width =
6232
64.4k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
64.4k
        auto it = rng.begin();
6236
64.4k
        std::ptrdiff_t prefix_width = 0;
6237
64.4k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
64.4k
        else {
6245
64.4k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
62.2k
            std::tie(it, prefix_width) = prefix_result;
6247
62.2k
        }
6248
62.2k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
62.2k
        std::ptrdiff_t value_width = 0;
6252
62.2k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
62.2k
        else {
6268
62.2k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
56.1k
                                             specs, value, loc));
6270
6271
56.1k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
56.1k
        }
6277
6278
        // Read postfix
6279
56.1k
        std::ptrdiff_t postfix_width = 0;
6280
56.1k
        if (it != rng.end()) {
6281
54.6k
            SCN_TRY(postfix_result,
6282
54.6k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
54.6k
                                 rd.skip_ws_before_read(), prefix_width,
6284
54.6k
                                 value_width));
6285
54.6k
            std::tie(it, postfix_width) = postfix_result;
6286
54.6k
        }
6287
6288
56.1k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
56.1k
            specs, prefix_width, value_width, postfix_width));
6290
56.1k
        return it;
6291
56.1k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
6230
46.8k
    {
6231
46.8k
        const bool need_skipped_width =
6232
46.8k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
46.8k
        auto it = rng.begin();
6236
46.8k
        std::ptrdiff_t prefix_width = 0;
6237
46.8k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
46.8k
        else {
6245
46.8k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
45.7k
            std::tie(it, prefix_width) = prefix_result;
6247
45.7k
        }
6248
45.7k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
45.7k
        std::ptrdiff_t value_width = 0;
6252
45.7k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
45.7k
        else {
6268
45.7k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
38.6k
                                             specs, value, loc));
6270
6271
38.6k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
38.6k
        }
6277
6278
        // Read postfix
6279
38.6k
        std::ptrdiff_t postfix_width = 0;
6280
38.6k
        if (it != rng.end()) {
6281
37.8k
            SCN_TRY(postfix_result,
6282
37.8k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
37.8k
                                 rd.skip_ws_before_read(), prefix_width,
6284
37.8k
                                 value_width));
6285
37.8k
            std::tie(it, postfix_width) = postfix_result;
6286
37.8k
        }
6287
6288
38.6k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
38.6k
            specs, prefix_width, value_width, postfix_width));
6290
38.6k
        return it;
6291
38.6k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
6230
51.1k
    {
6231
51.1k
        const bool need_skipped_width =
6232
51.1k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
51.1k
        auto it = rng.begin();
6236
51.1k
        std::ptrdiff_t prefix_width = 0;
6237
51.1k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
51.1k
        else {
6245
51.1k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
49.7k
            std::tie(it, prefix_width) = prefix_result;
6247
49.7k
        }
6248
49.7k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
49.7k
        std::ptrdiff_t value_width = 0;
6252
49.7k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
49.7k
        else {
6268
49.7k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
42.8k
                                             specs, value, loc));
6270
6271
42.8k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
42.8k
        }
6277
6278
        // Read postfix
6279
42.8k
        std::ptrdiff_t postfix_width = 0;
6280
42.8k
        if (it != rng.end()) {
6281
41.9k
            SCN_TRY(postfix_result,
6282
41.9k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
41.9k
                                 rd.skip_ws_before_read(), prefix_width,
6284
41.9k
                                 value_width));
6285
41.9k
            std::tie(it, postfix_width) = postfix_result;
6286
41.9k
        }
6287
6288
42.8k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
42.8k
            specs, prefix_width, value_width, postfix_width));
6290
42.8k
        return it;
6291
42.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
6230
51.6k
    {
6231
51.6k
        const bool need_skipped_width =
6232
51.6k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
51.6k
        auto it = rng.begin();
6236
51.6k
        std::ptrdiff_t prefix_width = 0;
6237
51.6k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
51.6k
        else {
6245
51.6k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
50.1k
            std::tie(it, prefix_width) = prefix_result;
6247
50.1k
        }
6248
50.1k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
50.1k
        std::ptrdiff_t value_width = 0;
6252
50.1k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
50.1k
        else {
6268
50.1k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
43.4k
                                             specs, value, loc));
6270
6271
43.4k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
43.4k
        }
6277
6278
        // Read postfix
6279
43.4k
        std::ptrdiff_t postfix_width = 0;
6280
43.4k
        if (it != rng.end()) {
6281
42.3k
            SCN_TRY(postfix_result,
6282
42.3k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
42.3k
                                 rd.skip_ws_before_read(), prefix_width,
6284
42.3k
                                 value_width));
6285
42.3k
            std::tie(it, postfix_width) = postfix_result;
6286
42.3k
        }
6287
6288
43.4k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
43.4k
            specs, prefix_width, value_width, postfix_width));
6290
43.4k
        return it;
6291
43.4k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
6230
138k
    {
6231
138k
        const bool need_skipped_width =
6232
138k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
138k
        auto it = rng.begin();
6236
138k
        std::ptrdiff_t prefix_width = 0;
6237
138k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
138k
        else {
6245
138k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
136k
            std::tie(it, prefix_width) = prefix_result;
6247
136k
        }
6248
136k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
136k
        std::ptrdiff_t value_width = 0;
6252
136k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
136k
        else {
6268
136k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
121k
                                             specs, value, loc));
6270
6271
121k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
121k
        }
6277
6278
        // Read postfix
6279
121k
        std::ptrdiff_t postfix_width = 0;
6280
121k
        if (it != rng.end()) {
6281
120k
            SCN_TRY(postfix_result,
6282
120k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
120k
                                 rd.skip_ws_before_read(), prefix_width,
6284
120k
                                 value_width));
6285
120k
            std::tie(it, postfix_width) = postfix_result;
6286
120k
        }
6287
6288
121k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
121k
            specs, prefix_width, value_width, postfix_width));
6290
121k
        return it;
6291
121k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
6230
145k
    {
6231
145k
        const bool need_skipped_width =
6232
145k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
145k
        auto it = rng.begin();
6236
145k
        std::ptrdiff_t prefix_width = 0;
6237
145k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
145k
        else {
6245
145k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
142k
            std::tie(it, prefix_width) = prefix_result;
6247
142k
        }
6248
142k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
142k
        std::ptrdiff_t value_width = 0;
6252
142k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
142k
        else {
6268
142k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
128k
                                             specs, value, loc));
6270
6271
128k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
128k
        }
6277
6278
        // Read postfix
6279
128k
        std::ptrdiff_t postfix_width = 0;
6280
128k
        if (it != rng.end()) {
6281
126k
            SCN_TRY(postfix_result,
6282
126k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
126k
                                 rd.skip_ws_before_read(), prefix_width,
6284
126k
                                 value_width));
6285
126k
            std::tie(it, postfix_width) = postfix_result;
6286
126k
        }
6287
6288
128k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
128k
            specs, prefix_width, value_width, postfix_width));
6290
128k
        return it;
6291
128k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
6230
148k
    {
6231
148k
        const bool need_skipped_width =
6232
148k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
148k
        auto it = rng.begin();
6236
148k
        std::ptrdiff_t prefix_width = 0;
6237
148k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
148k
        else {
6245
148k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
145k
            std::tie(it, prefix_width) = prefix_result;
6247
145k
        }
6248
145k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
145k
        std::ptrdiff_t value_width = 0;
6252
145k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
145k
        else {
6268
145k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
131k
                                             specs, value, loc));
6270
6271
131k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
131k
        }
6277
6278
        // Read postfix
6279
131k
        std::ptrdiff_t postfix_width = 0;
6280
131k
        if (it != rng.end()) {
6281
129k
            SCN_TRY(postfix_result,
6282
129k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
129k
                                 rd.skip_ws_before_read(), prefix_width,
6284
129k
                                 value_width));
6285
129k
            std::tie(it, postfix_width) = postfix_result;
6286
129k
        }
6287
6288
131k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
131k
            specs, prefix_width, value_width, postfix_width));
6290
131k
        return it;
6291
131k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Line
Count
Source
6230
49.7k
    {
6231
49.7k
        const bool need_skipped_width =
6232
49.7k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
49.7k
        auto it = rng.begin();
6236
49.7k
        std::ptrdiff_t prefix_width = 0;
6237
49.7k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
49.7k
        else {
6245
49.7k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
48.8k
            std::tie(it, prefix_width) = prefix_result;
6247
48.8k
        }
6248
48.8k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
48.8k
        std::ptrdiff_t value_width = 0;
6252
48.8k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
48.8k
        else {
6268
48.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
46.3k
                                             specs, value, loc));
6270
6271
46.3k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
46.3k
        }
6277
6278
        // Read postfix
6279
46.3k
        std::ptrdiff_t postfix_width = 0;
6280
46.3k
        if (it != rng.end()) {
6281
45.8k
            SCN_TRY(postfix_result,
6282
45.8k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
45.8k
                                 rd.skip_ws_before_read(), prefix_width,
6284
45.8k
                                 value_width));
6285
45.8k
            std::tie(it, postfix_width) = postfix_result;
6286
45.8k
        }
6287
6288
46.3k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
46.3k
            specs, prefix_width, value_width, postfix_width));
6290
46.3k
        return it;
6291
46.3k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIcSE_NSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIwNSD_IwEENSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIcNSK_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIwNSK_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSC_IwNSD_IwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
6230
18.2k
    {
6231
18.2k
        const bool need_skipped_width =
6232
18.2k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
18.2k
        auto it = rng.begin();
6236
18.2k
        std::ptrdiff_t prefix_width = 0;
6237
18.2k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
18.2k
        else {
6245
18.2k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
18.0k
            std::tie(it, prefix_width) = prefix_result;
6247
18.0k
        }
6248
18.0k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
18.0k
        std::ptrdiff_t value_width = 0;
6252
18.0k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
18.0k
        else {
6268
18.0k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
1.74k
                                             specs, value, loc));
6270
6271
1.74k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
1.74k
        }
6277
6278
        // Read postfix
6279
1.74k
        std::ptrdiff_t postfix_width = 0;
6280
1.74k
        if (it != rng.end()) {
6281
1.64k
            SCN_TRY(postfix_result,
6282
1.64k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
1.64k
                                 rd.skip_ws_before_read(), prefix_width,
6284
1.64k
                                 value_width));
6285
1.64k
            std::tie(it, postfix_width) = postfix_result;
6286
1.64k
        }
6287
6288
1.74k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
1.74k
            specs, prefix_width, value_width, postfix_width));
6290
1.74k
        return it;
6291
1.74k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
6230
18.3k
    {
6231
18.3k
        const bool need_skipped_width =
6232
18.3k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
18.3k
        auto it = rng.begin();
6236
18.3k
        std::ptrdiff_t prefix_width = 0;
6237
18.3k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
18.3k
        else {
6245
18.3k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
18.0k
            std::tie(it, prefix_width) = prefix_result;
6247
18.0k
        }
6248
18.0k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
18.0k
        std::ptrdiff_t value_width = 0;
6252
18.0k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
18.0k
        else {
6268
18.0k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
1.81k
                                             specs, value, loc));
6270
6271
1.81k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
1.81k
        }
6277
6278
        // Read postfix
6279
1.81k
        std::ptrdiff_t postfix_width = 0;
6280
1.81k
        if (it != rng.end()) {
6281
1.70k
            SCN_TRY(postfix_result,
6282
1.70k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
1.70k
                                 rd.skip_ws_before_read(), prefix_width,
6284
1.70k
                                 value_width));
6285
1.70k
            std::tie(it, postfix_width) = postfix_result;
6286
1.70k
        }
6287
6288
1.81k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
1.81k
            specs, prefix_width, value_width, postfix_width));
6290
1.81k
        return it;
6291
1.81k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
6230
18.4k
    {
6231
18.4k
        const bool need_skipped_width =
6232
18.4k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
18.4k
        auto it = rng.begin();
6236
18.4k
        std::ptrdiff_t prefix_width = 0;
6237
18.4k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
18.4k
        else {
6245
18.4k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
18.1k
            std::tie(it, prefix_width) = prefix_result;
6247
18.1k
        }
6248
18.1k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
18.1k
        std::ptrdiff_t value_width = 0;
6252
18.1k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
18.1k
        else {
6268
18.1k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
1.89k
                                             specs, value, loc));
6270
6271
1.89k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
1.89k
        }
6277
6278
        // Read postfix
6279
1.89k
        std::ptrdiff_t postfix_width = 0;
6280
1.89k
        if (it != rng.end()) {
6281
1.78k
            SCN_TRY(postfix_result,
6282
1.78k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
1.78k
                                 rd.skip_ws_before_read(), prefix_width,
6284
1.78k
                                 value_width));
6285
1.78k
            std::tie(it, postfix_width) = postfix_result;
6286
1.78k
        }
6287
6288
1.89k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
1.89k
            specs, prefix_width, value_width, postfix_width));
6290
1.89k
        return it;
6291
1.89k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
6230
18.1k
    {
6231
18.1k
        const bool need_skipped_width =
6232
18.1k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
18.1k
        auto it = rng.begin();
6236
18.1k
        std::ptrdiff_t prefix_width = 0;
6237
18.1k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
18.1k
        else {
6245
18.1k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
17.9k
            std::tie(it, prefix_width) = prefix_result;
6247
17.9k
        }
6248
17.9k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
17.9k
        std::ptrdiff_t value_width = 0;
6252
17.9k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
17.9k
        else {
6268
17.9k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
1.68k
                                             specs, value, loc));
6270
6271
1.68k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
1.68k
        }
6277
6278
        // Read postfix
6279
1.68k
        std::ptrdiff_t postfix_width = 0;
6280
1.68k
        if (it != rng.end()) {
6281
1.61k
            SCN_TRY(postfix_result,
6282
1.61k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
1.61k
                                 rd.skip_ws_before_read(), prefix_width,
6284
1.61k
                                 value_width));
6285
1.61k
            std::tie(it, postfix_width) = postfix_result;
6286
1.61k
        }
6287
6288
1.68k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
1.68k
            specs, prefix_width, value_width, postfix_width));
6290
1.68k
        return it;
6291
1.68k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
6230
18.2k
    {
6231
18.2k
        const bool need_skipped_width =
6232
18.2k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
18.2k
        auto it = rng.begin();
6236
18.2k
        std::ptrdiff_t prefix_width = 0;
6237
18.2k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
18.2k
        else {
6245
18.2k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
18.0k
            std::tie(it, prefix_width) = prefix_result;
6247
18.0k
        }
6248
18.0k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
18.0k
        std::ptrdiff_t value_width = 0;
6252
18.0k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
18.0k
        else {
6268
18.0k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
1.73k
                                             specs, value, loc));
6270
6271
1.73k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
1.73k
        }
6277
6278
        // Read postfix
6279
1.73k
        std::ptrdiff_t postfix_width = 0;
6280
1.73k
        if (it != rng.end()) {
6281
1.66k
            SCN_TRY(postfix_result,
6282
1.66k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
1.66k
                                 rd.skip_ws_before_read(), prefix_width,
6284
1.66k
                                 value_width));
6285
1.66k
            std::tie(it, postfix_width) = postfix_result;
6286
1.66k
        }
6287
6288
1.73k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
1.73k
            specs, prefix_width, value_width, postfix_width));
6290
1.73k
        return it;
6291
1.73k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
6230
18.3k
    {
6231
18.3k
        const bool need_skipped_width =
6232
18.3k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
18.3k
        auto it = rng.begin();
6236
18.3k
        std::ptrdiff_t prefix_width = 0;
6237
18.3k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
18.3k
        else {
6245
18.3k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
18.0k
            std::tie(it, prefix_width) = prefix_result;
6247
18.0k
        }
6248
18.0k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
18.0k
        std::ptrdiff_t value_width = 0;
6252
18.0k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
18.0k
        else {
6268
18.0k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
1.79k
                                             specs, value, loc));
6270
6271
1.79k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
1.79k
        }
6277
6278
        // Read postfix
6279
1.79k
        std::ptrdiff_t postfix_width = 0;
6280
1.79k
        if (it != rng.end()) {
6281
1.72k
            SCN_TRY(postfix_result,
6282
1.72k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
1.72k
                                 rd.skip_ws_before_read(), prefix_width,
6284
1.72k
                                 value_width));
6285
1.72k
            std::tie(it, postfix_width) = postfix_result;
6286
1.72k
        }
6287
6288
1.79k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
1.79k
            specs, prefix_width, value_width, postfix_width));
6290
1.79k
        return it;
6291
1.79k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
6230
115k
    {
6231
115k
        const bool need_skipped_width =
6232
115k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
115k
        auto it = rng.begin();
6236
115k
        std::ptrdiff_t prefix_width = 0;
6237
115k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
115k
        else {
6245
115k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
114k
            std::tie(it, prefix_width) = prefix_result;
6247
114k
        }
6248
114k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
114k
        std::ptrdiff_t value_width = 0;
6252
114k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
114k
        else {
6268
114k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
81.3k
                                             specs, value, loc));
6270
6271
81.3k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
81.3k
        }
6277
6278
        // Read postfix
6279
81.3k
        std::ptrdiff_t postfix_width = 0;
6280
81.3k
        if (it != rng.end()) {
6281
80.9k
            SCN_TRY(postfix_result,
6282
80.9k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
80.9k
                                 rd.skip_ws_before_read(), prefix_width,
6284
80.9k
                                 value_width));
6285
80.9k
            std::tie(it, postfix_width) = postfix_result;
6286
80.9k
        }
6287
6288
81.3k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
81.3k
            specs, prefix_width, value_width, postfix_width));
6290
81.3k
        return it;
6291
81.3k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
6230
124k
    {
6231
124k
        const bool need_skipped_width =
6232
124k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
124k
        auto it = rng.begin();
6236
124k
        std::ptrdiff_t prefix_width = 0;
6237
124k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
124k
        else {
6245
124k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
123k
            std::tie(it, prefix_width) = prefix_result;
6247
123k
        }
6248
123k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
123k
        std::ptrdiff_t value_width = 0;
6252
123k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
123k
        else {
6268
123k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
89.9k
                                             specs, value, loc));
6270
6271
89.9k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
89.9k
        }
6277
6278
        // Read postfix
6279
89.9k
        std::ptrdiff_t postfix_width = 0;
6280
89.9k
        if (it != rng.end()) {
6281
89.5k
            SCN_TRY(postfix_result,
6282
89.5k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
89.5k
                                 rd.skip_ws_before_read(), prefix_width,
6284
89.5k
                                 value_width));
6285
89.5k
            std::tie(it, postfix_width) = postfix_result;
6286
89.5k
        }
6287
6288
89.9k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
89.9k
            specs, prefix_width, value_width, postfix_width));
6290
89.9k
        return it;
6291
89.9k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Line
Count
Source
6230
126k
    {
6231
126k
        const bool need_skipped_width =
6232
126k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
126k
        auto it = rng.begin();
6236
126k
        std::ptrdiff_t prefix_width = 0;
6237
126k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
126k
        else {
6245
126k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
125k
            std::tie(it, prefix_width) = prefix_result;
6247
125k
        }
6248
125k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
125k
        std::ptrdiff_t value_width = 0;
6252
125k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
125k
        else {
6268
125k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
92.4k
                                             specs, value, loc));
6270
6271
92.4k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
92.4k
        }
6277
6278
        // Read postfix
6279
92.4k
        std::ptrdiff_t postfix_width = 0;
6280
92.4k
        if (it != rng.end()) {
6281
91.9k
            SCN_TRY(postfix_result,
6282
91.9k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
91.9k
                                 rd.skip_ws_before_read(), prefix_width,
6284
91.9k
                                 value_width));
6285
91.9k
            std::tie(it, postfix_width) = postfix_result;
6286
91.9k
        }
6287
6288
92.4k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
92.4k
            specs, prefix_width, value_width, postfix_width));
6290
92.4k
        return it;
6291
92.4k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIcNSD_IcEENSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Line
Count
Source
6230
276k
    {
6231
276k
        const bool need_skipped_width =
6232
276k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
276k
        auto it = rng.begin();
6236
276k
        std::ptrdiff_t prefix_width = 0;
6237
276k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
276k
        else {
6245
276k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
275k
            std::tie(it, prefix_width) = prefix_result;
6247
275k
        }
6248
275k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
275k
        std::ptrdiff_t value_width = 0;
6252
275k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
275k
        else {
6268
275k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
269k
                                             specs, value, loc));
6270
6271
269k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
269k
        }
6277
6278
        // Read postfix
6279
269k
        std::ptrdiff_t postfix_width = 0;
6280
269k
        if (it != rng.end()) {
6281
268k
            SCN_TRY(postfix_result,
6282
268k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
268k
                                 rd.skip_ws_before_read(), prefix_width,
6284
268k
                                 value_width));
6285
268k
            std::tie(it, postfix_width) = postfix_result;
6286
268k
        }
6287
6288
269k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
269k
            specs, prefix_width, value_width, postfix_width));
6290
269k
        return it;
6291
269k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIwSE_NSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIcNSK_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSC_IcNSD_IcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIwNSK_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6230
53.2k
    {
6231
53.2k
        const bool need_skipped_width =
6232
53.2k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
53.2k
        auto it = rng.begin();
6236
53.2k
        std::ptrdiff_t prefix_width = 0;
6237
53.2k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
53.2k
        else {
6245
53.2k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
51.8k
            std::tie(it, prefix_width) = prefix_result;
6247
51.8k
        }
6248
51.8k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
51.8k
        std::ptrdiff_t value_width = 0;
6252
51.8k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
51.8k
        else {
6268
51.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
44.9k
                                             specs, value, loc));
6270
6271
44.9k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
44.9k
        }
6277
6278
        // Read postfix
6279
44.9k
        std::ptrdiff_t postfix_width = 0;
6280
44.9k
        if (it != rng.end()) {
6281
43.9k
            SCN_TRY(postfix_result,
6282
43.9k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
43.9k
                                 rd.skip_ws_before_read(), prefix_width,
6284
43.9k
                                 value_width));
6285
43.9k
            std::tie(it, postfix_width) = postfix_result;
6286
43.9k
        }
6287
6288
44.9k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
44.9k
            specs, prefix_width, value_width, postfix_width));
6290
44.9k
        return it;
6291
44.9k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6230
63.8k
    {
6231
63.8k
        const bool need_skipped_width =
6232
63.8k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
63.8k
        auto it = rng.begin();
6236
63.8k
        std::ptrdiff_t prefix_width = 0;
6237
63.8k
        if (specs.precision != 0) {
6238
430
            auto max_width_view = take_width(rng, specs.precision);
6239
430
            SCN_TRY(prefix_result,
6240
398
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
398
            it = prefix_result.first.base();
6242
398
            prefix_width = prefix_result.second;
6243
398
        }
6244
63.4k
        else {
6245
63.4k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
61.6k
            std::tie(it, prefix_width) = prefix_result;
6247
61.6k
        }
6248
62.0k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
62.0k
        std::ptrdiff_t value_width = 0;
6252
62.0k
        if (specs.precision != 0) {
6253
398
            if (specs.precision <= prefix_width) {
6254
6
                return detail::unexpected_scan_error(
6255
6
                    scan_error::invalid_fill,
6256
6
                    "Too many fill characters before value, "
6257
6
                    "precision exceeded before reading value");
6258
6
            }
6259
6260
392
            const auto initial_width = specs.precision - prefix_width;
6261
392
            auto max_width_view =
6262
392
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
392
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
61.6k
        else {
6268
61.6k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
54.8k
                                             specs, value, loc));
6270
6271
54.8k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
54.8k
        }
6277
6278
        // Read postfix
6279
54.8k
        std::ptrdiff_t postfix_width = 0;
6280
54.8k
        if (it != rng.end()) {
6281
53.5k
            SCN_TRY(postfix_result,
6282
53.5k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
53.5k
                                 rd.skip_ws_before_read(), prefix_width,
6284
53.5k
                                 value_width));
6285
53.5k
            std::tie(it, postfix_width) = postfix_result;
6286
53.5k
        }
6287
6288
54.8k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
54.8k
            specs, prefix_width, value_width, postfix_width));
6290
54.8k
        return it;
6291
54.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6230
64.3k
    {
6231
64.3k
        const bool need_skipped_width =
6232
64.3k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
64.3k
        auto it = rng.begin();
6236
64.3k
        std::ptrdiff_t prefix_width = 0;
6237
64.3k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
64.3k
        else {
6245
64.3k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
62.3k
            std::tie(it, prefix_width) = prefix_result;
6247
62.3k
        }
6248
62.3k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
62.3k
        std::ptrdiff_t value_width = 0;
6252
62.3k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
62.3k
        else {
6268
62.3k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
56.0k
                                             specs, value, loc));
6270
6271
56.0k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
56.0k
        }
6277
6278
        // Read postfix
6279
56.0k
        std::ptrdiff_t postfix_width = 0;
6280
56.0k
        if (it != rng.end()) {
6281
54.5k
            SCN_TRY(postfix_result,
6282
54.5k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
54.5k
                                 rd.skip_ws_before_read(), prefix_width,
6284
54.5k
                                 value_width));
6285
54.5k
            std::tie(it, postfix_width) = postfix_result;
6286
54.5k
        }
6287
6288
56.0k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
56.0k
            specs, prefix_width, value_width, postfix_width));
6290
56.0k
        return it;
6291
56.0k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6230
46.8k
    {
6231
46.8k
        const bool need_skipped_width =
6232
46.8k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
46.8k
        auto it = rng.begin();
6236
46.8k
        std::ptrdiff_t prefix_width = 0;
6237
46.8k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
46.8k
        else {
6245
46.8k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
45.8k
            std::tie(it, prefix_width) = prefix_result;
6247
45.8k
        }
6248
45.8k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
45.8k
        std::ptrdiff_t value_width = 0;
6252
45.8k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
45.8k
        else {
6268
45.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
38.6k
                                             specs, value, loc));
6270
6271
38.6k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
38.6k
        }
6277
6278
        // Read postfix
6279
38.6k
        std::ptrdiff_t postfix_width = 0;
6280
38.6k
        if (it != rng.end()) {
6281
37.8k
            SCN_TRY(postfix_result,
6282
37.8k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
37.8k
                                 rd.skip_ws_before_read(), prefix_width,
6284
37.8k
                                 value_width));
6285
37.8k
            std::tie(it, postfix_width) = postfix_result;
6286
37.8k
        }
6287
6288
38.6k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
38.6k
            specs, prefix_width, value_width, postfix_width));
6290
38.6k
        return it;
6291
38.6k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6230
51.7k
    {
6231
51.7k
        const bool need_skipped_width =
6232
51.7k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
51.7k
        auto it = rng.begin();
6236
51.7k
        std::ptrdiff_t prefix_width = 0;
6237
51.7k
        if (specs.precision != 0) {
6238
430
            auto max_width_view = take_width(rng, specs.precision);
6239
430
            SCN_TRY(prefix_result,
6240
398
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
398
            it = prefix_result.first.base();
6242
398
            prefix_width = prefix_result.second;
6243
398
        }
6244
51.3k
        else {
6245
51.3k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
50.0k
            std::tie(it, prefix_width) = prefix_result;
6247
50.0k
        }
6248
50.4k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
50.4k
        std::ptrdiff_t value_width = 0;
6252
50.4k
        if (specs.precision != 0) {
6253
398
            if (specs.precision <= prefix_width) {
6254
6
                return detail::unexpected_scan_error(
6255
6
                    scan_error::invalid_fill,
6256
6
                    "Too many fill characters before value, "
6257
6
                    "precision exceeded before reading value");
6258
6
            }
6259
6260
392
            const auto initial_width = specs.precision - prefix_width;
6261
392
            auto max_width_view =
6262
392
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
392
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
50.0k
        else {
6268
50.0k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
42.7k
                                             specs, value, loc));
6270
6271
42.7k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
42.7k
        }
6277
6278
        // Read postfix
6279
42.7k
        std::ptrdiff_t postfix_width = 0;
6280
42.7k
        if (it != rng.end()) {
6281
41.8k
            SCN_TRY(postfix_result,
6282
41.8k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
41.8k
                                 rd.skip_ws_before_read(), prefix_width,
6284
41.8k
                                 value_width));
6285
41.8k
            std::tie(it, postfix_width) = postfix_result;
6286
41.8k
        }
6287
6288
42.7k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
42.7k
            specs, prefix_width, value_width, postfix_width));
6290
42.7k
        return it;
6291
42.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6230
51.5k
    {
6231
51.5k
        const bool need_skipped_width =
6232
51.5k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
51.5k
        auto it = rng.begin();
6236
51.5k
        std::ptrdiff_t prefix_width = 0;
6237
51.5k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
51.5k
        else {
6245
51.5k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
50.2k
            std::tie(it, prefix_width) = prefix_result;
6247
50.2k
        }
6248
50.2k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
50.2k
        std::ptrdiff_t value_width = 0;
6252
50.2k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
50.2k
        else {
6268
50.2k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
43.3k
                                             specs, value, loc));
6270
6271
43.3k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
43.3k
        }
6277
6278
        // Read postfix
6279
43.3k
        std::ptrdiff_t postfix_width = 0;
6280
43.3k
        if (it != rng.end()) {
6281
42.3k
            SCN_TRY(postfix_result,
6282
42.3k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
42.3k
                                 rd.skip_ws_before_read(), prefix_width,
6284
42.3k
                                 value_width));
6285
42.3k
            std::tie(it, postfix_width) = postfix_result;
6286
42.3k
        }
6287
6288
43.3k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
43.3k
            specs, prefix_width, value_width, postfix_width));
6290
43.3k
        return it;
6291
43.3k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_23reader_impl_for_voidptrIcEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6230
652
    {
6231
652
        const bool need_skipped_width =
6232
652
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
652
        auto it = rng.begin();
6236
652
        std::ptrdiff_t prefix_width = 0;
6237
652
        if (specs.precision != 0) {
6238
382
            auto max_width_view = take_width(rng, specs.precision);
6239
382
            SCN_TRY(prefix_result,
6240
358
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
358
            it = prefix_result.first.base();
6242
358
            prefix_width = prefix_result.second;
6243
358
        }
6244
270
        else {
6245
270
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
270
            std::tie(it, prefix_width) = prefix_result;
6247
270
        }
6248
628
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
628
        std::ptrdiff_t value_width = 0;
6252
628
        if (specs.precision != 0) {
6253
358
            if (specs.precision <= prefix_width) {
6254
4
                return detail::unexpected_scan_error(
6255
4
                    scan_error::invalid_fill,
6256
4
                    "Too many fill characters before value, "
6257
4
                    "precision exceeded before reading value");
6258
4
            }
6259
6260
354
            const auto initial_width = specs.precision - prefix_width;
6261
354
            auto max_width_view =
6262
354
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
354
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
270
        else {
6268
270
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
0
                                             specs, value, loc));
6270
6271
0
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
0
        }
6277
6278
        // Read postfix
6279
0
        std::ptrdiff_t postfix_width = 0;
6280
0
        if (it != rng.end()) {
6281
0
            SCN_TRY(postfix_result,
6282
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
0
                                 rd.skip_ws_before_read(), prefix_width,
6284
0
                                 value_width));
6285
0
            std::tie(it, postfix_width) = postfix_result;
6286
0
        }
6287
6288
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
0
            specs, prefix_width, value_width, postfix_width));
6290
0
        return it;
6291
0
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_boolIcEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6230
1.03k
    {
6231
1.03k
        const bool need_skipped_width =
6232
1.03k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
1.03k
        auto it = rng.begin();
6236
1.03k
        std::ptrdiff_t prefix_width = 0;
6237
1.03k
        if (specs.precision != 0) {
6238
580
            auto max_width_view = take_width(rng, specs.precision);
6239
580
            SCN_TRY(prefix_result,
6240
544
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
544
            it = prefix_result.first.base();
6242
544
            prefix_width = prefix_result.second;
6243
544
        }
6244
450
        else {
6245
450
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
450
            std::tie(it, prefix_width) = prefix_result;
6247
450
        }
6248
994
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
994
        std::ptrdiff_t value_width = 0;
6252
994
        if (specs.precision != 0) {
6253
544
            if (specs.precision <= prefix_width) {
6254
10
                return detail::unexpected_scan_error(
6255
10
                    scan_error::invalid_fill,
6256
10
                    "Too many fill characters before value, "
6257
10
                    "precision exceeded before reading value");
6258
10
            }
6259
6260
534
            const auto initial_width = specs.precision - prefix_width;
6261
534
            auto max_width_view =
6262
534
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
534
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
450
        else {
6268
450
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
0
                                             specs, value, loc));
6270
6271
0
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
0
        }
6277
6278
        // Read postfix
6279
0
        std::ptrdiff_t postfix_width = 0;
6280
0
        if (it != rng.end()) {
6281
0
            SCN_TRY(postfix_result,
6282
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
0
                                 rd.skip_ws_before_read(), prefix_width,
6284
0
                                 value_width));
6285
0
            std::tie(it, postfix_width) = postfix_result;
6286
0
        }
6287
6288
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
0
            specs, prefix_width, value_width, postfix_width));
6290
0
        return it;
6291
0
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_charIcEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6230
706
    {
6231
706
        const bool need_skipped_width =
6232
706
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
706
        auto it = rng.begin();
6236
706
        std::ptrdiff_t prefix_width = 0;
6237
706
        if (specs.precision != 0) {
6238
418
            auto max_width_view = take_width(rng, specs.precision);
6239
418
            SCN_TRY(prefix_result,
6240
418
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
418
            it = prefix_result.first.base();
6242
418
            prefix_width = prefix_result.second;
6243
418
        }
6244
288
        else {
6245
288
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
288
            std::tie(it, prefix_width) = prefix_result;
6247
288
        }
6248
706
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
706
        std::ptrdiff_t value_width = 0;
6252
706
        if (specs.precision != 0) {
6253
418
            if (specs.precision <= prefix_width) {
6254
6
                return detail::unexpected_scan_error(
6255
6
                    scan_error::invalid_fill,
6256
6
                    "Too many fill characters before value, "
6257
6
                    "precision exceeded before reading value");
6258
6
            }
6259
6260
412
            const auto initial_width = specs.precision - prefix_width;
6261
412
            auto max_width_view =
6262
412
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
412
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
376
            it = w_it.base();
6265
376
            value_width = initial_width - w_it.count();
6266
376
        }
6267
288
        else {
6268
288
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
266
                                             specs, value, loc));
6270
6271
266
            if (need_skipped_width) {
6272
200
                value_width = calculate_text_width(
6273
200
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
200
                        .view());
6275
200
            }
6276
266
        }
6277
6278
        // Read postfix
6279
642
        std::ptrdiff_t postfix_width = 0;
6280
642
        if (it != rng.end()) {
6281
642
            SCN_TRY(postfix_result,
6282
642
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
642
                                 rd.skip_ws_before_read(), prefix_width,
6284
642
                                 value_width));
6285
642
            std::tie(it, postfix_width) = postfix_result;
6286
642
        }
6287
6288
642
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
642
            specs, prefix_width, value_width, postfix_width));
6290
466
        return it;
6291
642
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_wcharIcEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_26reader_impl_for_code_pointIcEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6230
129k
    {
6231
129k
        const bool need_skipped_width =
6232
129k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
129k
        auto it = rng.begin();
6236
129k
        std::ptrdiff_t prefix_width = 0;
6237
129k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
129k
        else {
6245
129k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
127k
            std::tie(it, prefix_width) = prefix_result;
6247
127k
        }
6248
127k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
127k
        std::ptrdiff_t value_width = 0;
6252
127k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
127k
        else {
6268
127k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
112k
                                             specs, value, loc));
6270
6271
112k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
112k
        }
6277
6278
        // Read postfix
6279
112k
        std::ptrdiff_t postfix_width = 0;
6280
112k
        if (it != rng.end()) {
6281
110k
            SCN_TRY(postfix_result,
6282
110k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
110k
                                 rd.skip_ws_before_read(), prefix_width,
6284
110k
                                 value_width));
6285
110k
            std::tie(it, postfix_width) = postfix_result;
6286
110k
        }
6287
6288
112k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
112k
            specs, prefix_width, value_width, postfix_width));
6290
112k
        return it;
6291
112k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6230
134k
    {
6231
134k
        const bool need_skipped_width =
6232
134k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
134k
        auto it = rng.begin();
6236
134k
        std::ptrdiff_t prefix_width = 0;
6237
134k
        if (specs.precision != 0) {
6238
440
            auto max_width_view = take_width(rng, specs.precision);
6239
440
            SCN_TRY(prefix_result,
6240
410
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
410
            it = prefix_result.first.base();
6242
410
            prefix_width = prefix_result.second;
6243
410
        }
6244
133k
        else {
6245
133k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
131k
            std::tie(it, prefix_width) = prefix_result;
6247
131k
        }
6248
132k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
132k
        std::ptrdiff_t value_width = 0;
6252
132k
        if (specs.precision != 0) {
6253
410
            if (specs.precision <= prefix_width) {
6254
8
                return detail::unexpected_scan_error(
6255
8
                    scan_error::invalid_fill,
6256
8
                    "Too many fill characters before value, "
6257
8
                    "precision exceeded before reading value");
6258
8
            }
6259
6260
402
            const auto initial_width = specs.precision - prefix_width;
6261
402
            auto max_width_view =
6262
402
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
402
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
131k
        else {
6268
131k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
116k
                                             specs, value, loc));
6270
6271
116k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
116k
        }
6277
6278
        // Read postfix
6279
116k
        std::ptrdiff_t postfix_width = 0;
6280
116k
        if (it != rng.end()) {
6281
114k
            SCN_TRY(postfix_result,
6282
114k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
114k
                                 rd.skip_ws_before_read(), prefix_width,
6284
114k
                                 value_width));
6285
114k
            std::tie(it, postfix_width) = postfix_result;
6286
114k
        }
6287
6288
116k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
116k
            specs, prefix_width, value_width, postfix_width));
6290
116k
        return it;
6291
116k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6230
136k
    {
6231
136k
        const bool need_skipped_width =
6232
136k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
136k
        auto it = rng.begin();
6236
136k
        std::ptrdiff_t prefix_width = 0;
6237
136k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
136k
        else {
6245
136k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
133k
            std::tie(it, prefix_width) = prefix_result;
6247
133k
        }
6248
133k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
133k
        std::ptrdiff_t value_width = 0;
6252
133k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
133k
        else {
6268
133k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
118k
                                             specs, value, loc));
6270
6271
118k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
118k
        }
6277
6278
        // Read postfix
6279
118k
        std::ptrdiff_t postfix_width = 0;
6280
118k
        if (it != rng.end()) {
6281
117k
            SCN_TRY(postfix_result,
6282
117k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
117k
                                 rd.skip_ws_before_read(), prefix_width,
6284
117k
                                 value_width));
6285
117k
            std::tie(it, postfix_width) = postfix_result;
6286
117k
        }
6287
6288
118k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
118k
            specs, prefix_width, value_width, postfix_width));
6290
118k
        return it;
6291
118k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_25reader_impl_for_monostateIcEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6230
42.6k
    {
6231
42.6k
        const bool need_skipped_width =
6232
42.6k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
42.6k
        auto it = rng.begin();
6236
42.6k
        std::ptrdiff_t prefix_width = 0;
6237
42.6k
        if (specs.precision != 0) {
6238
1.17k
            auto max_width_view = take_width(rng, specs.precision);
6239
1.17k
            SCN_TRY(prefix_result,
6240
1.14k
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
1.14k
            it = prefix_result.first.base();
6242
1.14k
            prefix_width = prefix_result.second;
6243
1.14k
        }
6244
41.4k
        else {
6245
41.4k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
40.8k
            std::tie(it, prefix_width) = prefix_result;
6247
40.8k
        }
6248
41.9k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
41.9k
        std::ptrdiff_t value_width = 0;
6252
41.9k
        if (specs.precision != 0) {
6253
1.14k
            if (specs.precision <= prefix_width) {
6254
10
                return detail::unexpected_scan_error(
6255
10
                    scan_error::invalid_fill,
6256
10
                    "Too many fill characters before value, "
6257
10
                    "precision exceeded before reading value");
6258
10
            }
6259
6260
1.13k
            const auto initial_width = specs.precision - prefix_width;
6261
1.13k
            auto max_width_view =
6262
1.13k
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
1.13k
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
500
            it = w_it.base();
6265
500
            value_width = initial_width - w_it.count();
6266
500
        }
6267
40.8k
        else {
6268
40.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
37.3k
                                             specs, value, loc));
6270
6271
37.3k
            if (need_skipped_width) {
6272
234
                value_width = calculate_text_width(
6273
234
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
234
                        .view());
6275
234
            }
6276
37.3k
        }
6277
6278
        // Read postfix
6279
37.8k
        std::ptrdiff_t postfix_width = 0;
6280
37.8k
        if (it != rng.end()) {
6281
37.0k
            SCN_TRY(postfix_result,
6282
37.0k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
37.0k
                                 rd.skip_ws_before_read(), prefix_width,
6284
37.0k
                                 value_width));
6285
37.0k
            std::tie(it, postfix_width) = postfix_result;
6286
37.0k
        }
6287
6288
37.8k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
37.8k
            specs, prefix_width, value_width, postfix_width));
6290
37.7k
        return it;
6291
37.8k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6230
3.10k
    {
6231
3.10k
        const bool need_skipped_width =
6232
3.10k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
3.10k
        auto it = rng.begin();
6236
3.10k
        std::ptrdiff_t prefix_width = 0;
6237
3.10k
        if (specs.precision != 0) {
6238
1.17k
            auto max_width_view = take_width(rng, specs.precision);
6239
1.17k
            SCN_TRY(prefix_result,
6240
1.14k
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
1.14k
            it = prefix_result.first.base();
6242
1.14k
            prefix_width = prefix_result.second;
6243
1.14k
        }
6244
1.93k
        else {
6245
1.93k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
1.93k
            std::tie(it, prefix_width) = prefix_result;
6247
1.93k
        }
6248
3.08k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
3.08k
        std::ptrdiff_t value_width = 0;
6252
3.08k
        if (specs.precision != 0) {
6253
1.14k
            if (specs.precision <= prefix_width) {
6254
10
                return detail::unexpected_scan_error(
6255
10
                    scan_error::invalid_fill,
6256
10
                    "Too many fill characters before value, "
6257
10
                    "precision exceeded before reading value");
6258
10
            }
6259
6260
1.13k
            const auto initial_width = specs.precision - prefix_width;
6261
1.13k
            auto max_width_view =
6262
1.13k
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
1.13k
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
500
            it = w_it.base();
6265
500
            value_width = initial_width - w_it.count();
6266
500
        }
6267
1.93k
        else {
6268
1.93k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
1.28k
                                             specs, value, loc));
6270
6271
1.28k
            if (need_skipped_width) {
6272
234
                value_width = calculate_text_width(
6273
234
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
234
                        .view());
6275
234
            }
6276
1.28k
        }
6277
6278
        // Read postfix
6279
1.78k
        std::ptrdiff_t postfix_width = 0;
6280
1.78k
        if (it != rng.end()) {
6281
1.40k
            SCN_TRY(postfix_result,
6282
1.40k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
1.40k
                                 rd.skip_ws_before_read(), prefix_width,
6284
1.40k
                                 value_width));
6285
1.40k
            std::tie(it, postfix_width) = postfix_result;
6286
1.40k
        }
6287
6288
1.78k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
1.78k
            specs, prefix_width, value_width, postfix_width));
6290
1.68k
        return it;
6291
1.78k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6230
42.6k
    {
6231
42.6k
        const bool need_skipped_width =
6232
42.6k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
42.6k
        auto it = rng.begin();
6236
42.6k
        std::ptrdiff_t prefix_width = 0;
6237
42.6k
        if (specs.precision != 0) {
6238
1.17k
            auto max_width_view = take_width(rng, specs.precision);
6239
1.17k
            SCN_TRY(prefix_result,
6240
1.14k
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
1.14k
            it = prefix_result.first.base();
6242
1.14k
            prefix_width = prefix_result.second;
6243
1.14k
        }
6244
41.4k
        else {
6245
41.4k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
40.8k
            std::tie(it, prefix_width) = prefix_result;
6247
40.8k
        }
6248
41.9k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
41.9k
        std::ptrdiff_t value_width = 0;
6252
41.9k
        if (specs.precision != 0) {
6253
1.14k
            if (specs.precision <= prefix_width) {
6254
10
                return detail::unexpected_scan_error(
6255
10
                    scan_error::invalid_fill,
6256
10
                    "Too many fill characters before value, "
6257
10
                    "precision exceeded before reading value");
6258
10
            }
6259
6260
1.13k
            const auto initial_width = specs.precision - prefix_width;
6261
1.13k
            auto max_width_view =
6262
1.13k
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
1.13k
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
500
            it = w_it.base();
6265
500
            value_width = initial_width - w_it.count();
6266
500
        }
6267
40.8k
        else {
6268
40.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
37.3k
                                             specs, value, loc));
6270
6271
37.3k
            if (need_skipped_width) {
6272
234
                value_width = calculate_text_width(
6273
234
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
234
                        .view());
6275
234
            }
6276
37.3k
        }
6277
6278
        // Read postfix
6279
37.8k
        std::ptrdiff_t postfix_width = 0;
6280
37.8k
        if (it != rng.end()) {
6281
37.0k
            SCN_TRY(postfix_result,
6282
37.0k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
37.0k
                                 rd.skip_ws_before_read(), prefix_width,
6284
37.0k
                                 value_width));
6285
37.0k
            std::tie(it, postfix_width) = postfix_result;
6286
37.0k
        }
6287
6288
37.8k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
37.8k
            specs, prefix_width, value_width, postfix_width));
6290
37.7k
        return it;
6291
37.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6230
18.2k
    {
6231
18.2k
        const bool need_skipped_width =
6232
18.2k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
18.2k
        auto it = rng.begin();
6236
18.2k
        std::ptrdiff_t prefix_width = 0;
6237
18.2k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
18.2k
        else {
6245
18.2k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
18.0k
            std::tie(it, prefix_width) = prefix_result;
6247
18.0k
        }
6248
18.0k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
18.0k
        std::ptrdiff_t value_width = 0;
6252
18.0k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
18.0k
        else {
6268
18.0k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
1.74k
                                             specs, value, loc));
6270
6271
1.74k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
1.74k
        }
6277
6278
        // Read postfix
6279
1.74k
        std::ptrdiff_t postfix_width = 0;
6280
1.74k
        if (it != rng.end()) {
6281
1.64k
            SCN_TRY(postfix_result,
6282
1.64k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
1.64k
                                 rd.skip_ws_before_read(), prefix_width,
6284
1.64k
                                 value_width));
6285
1.64k
            std::tie(it, postfix_width) = postfix_result;
6286
1.64k
        }
6287
6288
1.74k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
1.74k
            specs, prefix_width, value_width, postfix_width));
6290
1.74k
        return it;
6291
1.74k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6230
19.0k
    {
6231
19.0k
        const bool need_skipped_width =
6232
19.0k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
19.0k
        auto it = rng.begin();
6236
19.0k
        std::ptrdiff_t prefix_width = 0;
6237
19.0k
        if (specs.precision != 0) {
6238
280
            auto max_width_view = take_width(rng, specs.precision);
6239
280
            SCN_TRY(prefix_result,
6240
260
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
260
            it = prefix_result.first.base();
6242
260
            prefix_width = prefix_result.second;
6243
260
        }
6244
18.8k
        else {
6245
18.8k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
18.5k
            std::tie(it, prefix_width) = prefix_result;
6247
18.5k
        }
6248
18.8k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
18.8k
        std::ptrdiff_t value_width = 0;
6252
18.8k
        if (specs.precision != 0) {
6253
260
            if (specs.precision <= prefix_width) {
6254
2
                return detail::unexpected_scan_error(
6255
2
                    scan_error::invalid_fill,
6256
2
                    "Too many fill characters before value, "
6257
2
                    "precision exceeded before reading value");
6258
2
            }
6259
6260
258
            const auto initial_width = specs.precision - prefix_width;
6261
258
            auto max_width_view =
6262
258
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
258
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
22
            it = w_it.base();
6265
22
            value_width = initial_width - w_it.count();
6266
22
        }
6267
18.5k
        else {
6268
18.5k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
1.85k
                                             specs, value, loc));
6270
6271
1.85k
            if (need_skipped_width) {
6272
8
                value_width = calculate_text_width(
6273
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
8
                        .view());
6275
8
            }
6276
1.85k
        }
6277
6278
        // Read postfix
6279
1.88k
        std::ptrdiff_t postfix_width = 0;
6280
1.88k
        if (it != rng.end()) {
6281
1.77k
            SCN_TRY(postfix_result,
6282
1.77k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
1.77k
                                 rd.skip_ws_before_read(), prefix_width,
6284
1.77k
                                 value_width));
6285
1.77k
            std::tie(it, postfix_width) = postfix_result;
6286
1.77k
        }
6287
6288
1.88k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
1.88k
            specs, prefix_width, value_width, postfix_width));
6290
1.87k
        return it;
6291
1.88k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6230
18.4k
    {
6231
18.4k
        const bool need_skipped_width =
6232
18.4k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
18.4k
        auto it = rng.begin();
6236
18.4k
        std::ptrdiff_t prefix_width = 0;
6237
18.4k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
18.4k
        else {
6245
18.4k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
18.1k
            std::tie(it, prefix_width) = prefix_result;
6247
18.1k
        }
6248
18.1k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
18.1k
        std::ptrdiff_t value_width = 0;
6252
18.1k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
18.1k
        else {
6268
18.1k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
1.89k
                                             specs, value, loc));
6270
6271
1.89k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
1.89k
        }
6277
6278
        // Read postfix
6279
1.89k
        std::ptrdiff_t postfix_width = 0;
6280
1.89k
        if (it != rng.end()) {
6281
1.78k
            SCN_TRY(postfix_result,
6282
1.78k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
1.78k
                                 rd.skip_ws_before_read(), prefix_width,
6284
1.78k
                                 value_width));
6285
1.78k
            std::tie(it, postfix_width) = postfix_result;
6286
1.78k
        }
6287
6288
1.89k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
1.89k
            specs, prefix_width, value_width, postfix_width));
6290
1.89k
        return it;
6291
1.89k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6230
18.1k
    {
6231
18.1k
        const bool need_skipped_width =
6232
18.1k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
18.1k
        auto it = rng.begin();
6236
18.1k
        std::ptrdiff_t prefix_width = 0;
6237
18.1k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
18.1k
        else {
6245
18.1k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
17.9k
            std::tie(it, prefix_width) = prefix_result;
6247
17.9k
        }
6248
17.9k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
17.9k
        std::ptrdiff_t value_width = 0;
6252
17.9k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
17.9k
        else {
6268
17.9k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
1.68k
                                             specs, value, loc));
6270
6271
1.68k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
1.68k
        }
6277
6278
        // Read postfix
6279
1.68k
        std::ptrdiff_t postfix_width = 0;
6280
1.68k
        if (it != rng.end()) {
6281
1.61k
            SCN_TRY(postfix_result,
6282
1.61k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
1.61k
                                 rd.skip_ws_before_read(), prefix_width,
6284
1.61k
                                 value_width));
6285
1.61k
            std::tie(it, postfix_width) = postfix_result;
6286
1.61k
        }
6287
6288
1.68k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
1.68k
            specs, prefix_width, value_width, postfix_width));
6290
1.68k
        return it;
6291
1.68k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6230
19.0k
    {
6231
19.0k
        const bool need_skipped_width =
6232
19.0k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
19.0k
        auto it = rng.begin();
6236
19.0k
        std::ptrdiff_t prefix_width = 0;
6237
19.0k
        if (specs.precision != 0) {
6238
280
            auto max_width_view = take_width(rng, specs.precision);
6239
280
            SCN_TRY(prefix_result,
6240
260
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
260
            it = prefix_result.first.base();
6242
260
            prefix_width = prefix_result.second;
6243
260
        }
6244
18.7k
        else {
6245
18.7k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
18.5k
            std::tie(it, prefix_width) = prefix_result;
6247
18.5k
        }
6248
18.7k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
18.7k
        std::ptrdiff_t value_width = 0;
6252
18.7k
        if (specs.precision != 0) {
6253
260
            if (specs.precision <= prefix_width) {
6254
2
                return detail::unexpected_scan_error(
6255
2
                    scan_error::invalid_fill,
6256
2
                    "Too many fill characters before value, "
6257
2
                    "precision exceeded before reading value");
6258
2
            }
6259
6260
258
            const auto initial_width = specs.precision - prefix_width;
6261
258
            auto max_width_view =
6262
258
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
258
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
22
            it = w_it.base();
6265
22
            value_width = initial_width - w_it.count();
6266
22
        }
6267
18.5k
        else {
6268
18.5k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
1.78k
                                             specs, value, loc));
6270
6271
1.78k
            if (need_skipped_width) {
6272
8
                value_width = calculate_text_width(
6273
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
8
                        .view());
6275
8
            }
6276
1.78k
        }
6277
6278
        // Read postfix
6279
1.80k
        std::ptrdiff_t postfix_width = 0;
6280
1.80k
        if (it != rng.end()) {
6281
1.73k
            SCN_TRY(postfix_result,
6282
1.73k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
1.73k
                                 rd.skip_ws_before_read(), prefix_width,
6284
1.73k
                                 value_width));
6285
1.73k
            std::tie(it, postfix_width) = postfix_result;
6286
1.73k
        }
6287
6288
1.80k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
1.80k
            specs, prefix_width, value_width, postfix_width));
6290
1.79k
        return it;
6291
1.80k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6230
18.3k
    {
6231
18.3k
        const bool need_skipped_width =
6232
18.3k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
18.3k
        auto it = rng.begin();
6236
18.3k
        std::ptrdiff_t prefix_width = 0;
6237
18.3k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
18.3k
        else {
6245
18.3k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
18.0k
            std::tie(it, prefix_width) = prefix_result;
6247
18.0k
        }
6248
18.0k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
18.0k
        std::ptrdiff_t value_width = 0;
6252
18.0k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
18.0k
        else {
6268
18.0k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
1.79k
                                             specs, value, loc));
6270
6271
1.79k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
1.79k
        }
6277
6278
        // Read postfix
6279
1.79k
        std::ptrdiff_t postfix_width = 0;
6280
1.79k
        if (it != rng.end()) {
6281
1.72k
            SCN_TRY(postfix_result,
6282
1.72k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
1.72k
                                 rd.skip_ws_before_read(), prefix_width,
6284
1.72k
                                 value_width));
6285
1.72k
            std::tie(it, postfix_width) = postfix_result;
6286
1.72k
        }
6287
6288
1.79k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
1.79k
            specs, prefix_width, value_width, postfix_width));
6290
1.79k
        return it;
6291
1.79k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_23reader_impl_for_voidptrIwEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6230
622
    {
6231
622
        const bool need_skipped_width =
6232
622
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
622
        auto it = rng.begin();
6236
622
        std::ptrdiff_t prefix_width = 0;
6237
622
        if (specs.precision != 0) {
6238
214
            auto max_width_view = take_width(rng, specs.precision);
6239
214
            SCN_TRY(prefix_result,
6240
206
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
206
            it = prefix_result.first.base();
6242
206
            prefix_width = prefix_result.second;
6243
206
        }
6244
408
        else {
6245
408
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
408
            std::tie(it, prefix_width) = prefix_result;
6247
408
        }
6248
614
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
614
        std::ptrdiff_t value_width = 0;
6252
614
        if (specs.precision != 0) {
6253
206
            if (specs.precision <= prefix_width) {
6254
2
                return detail::unexpected_scan_error(
6255
2
                    scan_error::invalid_fill,
6256
2
                    "Too many fill characters before value, "
6257
2
                    "precision exceeded before reading value");
6258
2
            }
6259
6260
204
            const auto initial_width = specs.precision - prefix_width;
6261
204
            auto max_width_view =
6262
204
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
204
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
10
            it = w_it.base();
6265
10
            value_width = initial_width - w_it.count();
6266
10
        }
6267
408
        else {
6268
408
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
32
                                             specs, value, loc));
6270
6271
32
            if (need_skipped_width) {
6272
8
                value_width = calculate_text_width(
6273
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
8
                        .view());
6275
8
            }
6276
32
        }
6277
6278
        // Read postfix
6279
42
        std::ptrdiff_t postfix_width = 0;
6280
42
        if (it != rng.end()) {
6281
42
            SCN_TRY(postfix_result,
6282
42
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
42
                                 rd.skip_ws_before_read(), prefix_width,
6284
42
                                 value_width));
6285
42
            std::tie(it, postfix_width) = postfix_result;
6286
42
        }
6287
6288
42
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
42
            specs, prefix_width, value_width, postfix_width));
6290
38
        return it;
6291
42
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_boolIwEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6230
888
    {
6231
888
        const bool need_skipped_width =
6232
888
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
888
        auto it = rng.begin();
6236
888
        std::ptrdiff_t prefix_width = 0;
6237
888
        if (specs.precision != 0) {
6238
342
            auto max_width_view = take_width(rng, specs.precision);
6239
342
            SCN_TRY(prefix_result,
6240
318
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
318
            it = prefix_result.first.base();
6242
318
            prefix_width = prefix_result.second;
6243
318
        }
6244
546
        else {
6245
546
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
546
            std::tie(it, prefix_width) = prefix_result;
6247
546
        }
6248
864
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
864
        std::ptrdiff_t value_width = 0;
6252
864
        if (specs.precision != 0) {
6253
318
            if (specs.precision <= prefix_width) {
6254
4
                return detail::unexpected_scan_error(
6255
4
                    scan_error::invalid_fill,
6256
4
                    "Too many fill characters before value, "
6257
4
                    "precision exceeded before reading value");
6258
4
            }
6259
6260
314
            const auto initial_width = specs.precision - prefix_width;
6261
314
            auto max_width_view =
6262
314
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
314
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
22
            it = w_it.base();
6265
22
            value_width = initial_width - w_it.count();
6266
22
        }
6267
546
        else {
6268
546
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
48
                                             specs, value, loc));
6270
6271
48
            if (need_skipped_width) {
6272
8
                value_width = calculate_text_width(
6273
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
8
                        .view());
6275
8
            }
6276
48
        }
6277
6278
        // Read postfix
6279
70
        std::ptrdiff_t postfix_width = 0;
6280
70
        if (it != rng.end()) {
6281
70
            SCN_TRY(postfix_result,
6282
70
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
70
                                 rd.skip_ws_before_read(), prefix_width,
6284
70
                                 value_width));
6285
70
            std::tie(it, postfix_width) = postfix_result;
6286
70
        }
6287
6288
70
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
70
            specs, prefix_width, value_width, postfix_width));
6290
66
        return it;
6291
70
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_charIwEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_wcharIwEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6230
708
    {
6231
708
        const bool need_skipped_width =
6232
708
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
708
        auto it = rng.begin();
6236
708
        std::ptrdiff_t prefix_width = 0;
6237
708
        if (specs.precision != 0) {
6238
252
            auto max_width_view = take_width(rng, specs.precision);
6239
252
            SCN_TRY(prefix_result,
6240
252
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
252
            it = prefix_result.first.base();
6242
252
            prefix_width = prefix_result.second;
6243
252
        }
6244
456
        else {
6245
456
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
456
            std::tie(it, prefix_width) = prefix_result;
6247
456
        }
6248
708
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
708
        std::ptrdiff_t value_width = 0;
6252
708
        if (specs.precision != 0) {
6253
252
            if (specs.precision <= prefix_width) {
6254
2
                return detail::unexpected_scan_error(
6255
2
                    scan_error::invalid_fill,
6256
2
                    "Too many fill characters before value, "
6257
2
                    "precision exceeded before reading value");
6258
2
            }
6259
6260
250
            const auto initial_width = specs.precision - prefix_width;
6261
250
            auto max_width_view =
6262
250
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
250
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
216
            it = w_it.base();
6265
216
            value_width = initial_width - w_it.count();
6266
216
        }
6267
456
        else {
6268
456
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
416
                                             specs, value, loc));
6270
6271
416
            if (need_skipped_width) {
6272
250
                value_width = calculate_text_width(
6273
250
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
250
                        .view());
6275
250
            }
6276
416
        }
6277
6278
        // Read postfix
6279
632
        std::ptrdiff_t postfix_width = 0;
6280
632
        if (it != rng.end()) {
6281
632
            SCN_TRY(postfix_result,
6282
632
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
632
                                 rd.skip_ws_before_read(), prefix_width,
6284
632
                                 value_width));
6285
632
            std::tie(it, postfix_width) = postfix_result;
6286
632
        }
6287
6288
632
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
632
            specs, prefix_width, value_width, postfix_width));
6290
392
        return it;
6291
632
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_26reader_impl_for_code_pointIwEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6230
115k
    {
6231
115k
        const bool need_skipped_width =
6232
115k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
115k
        auto it = rng.begin();
6236
115k
        std::ptrdiff_t prefix_width = 0;
6237
115k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
115k
        else {
6245
115k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
114k
            std::tie(it, prefix_width) = prefix_result;
6247
114k
        }
6248
114k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
114k
        std::ptrdiff_t value_width = 0;
6252
114k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
114k
        else {
6268
114k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
81.3k
                                             specs, value, loc));
6270
6271
81.3k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
81.3k
        }
6277
6278
        // Read postfix
6279
81.3k
        std::ptrdiff_t postfix_width = 0;
6280
81.3k
        if (it != rng.end()) {
6281
80.9k
            SCN_TRY(postfix_result,
6282
80.9k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
80.9k
                                 rd.skip_ws_before_read(), prefix_width,
6284
80.9k
                                 value_width));
6285
80.9k
            std::tie(it, postfix_width) = postfix_result;
6286
80.9k
        }
6287
6288
81.3k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
81.3k
            specs, prefix_width, value_width, postfix_width));
6290
81.3k
        return it;
6291
81.3k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6230
125k
    {
6231
125k
        const bool need_skipped_width =
6232
125k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
125k
        auto it = rng.begin();
6236
125k
        std::ptrdiff_t prefix_width = 0;
6237
125k
        if (specs.precision != 0) {
6238
266
            auto max_width_view = take_width(rng, specs.precision);
6239
266
            SCN_TRY(prefix_result,
6240
250
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
250
            it = prefix_result.first.base();
6242
250
            prefix_width = prefix_result.second;
6243
250
        }
6244
124k
        else {
6245
124k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
123k
            std::tie(it, prefix_width) = prefix_result;
6247
123k
        }
6248
124k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
124k
        std::ptrdiff_t value_width = 0;
6252
124k
        if (specs.precision != 0) {
6253
250
            if (specs.precision <= prefix_width) {
6254
4
                return detail::unexpected_scan_error(
6255
4
                    scan_error::invalid_fill,
6256
4
                    "Too many fill characters before value, "
6257
4
                    "precision exceeded before reading value");
6258
4
            }
6259
6260
246
            const auto initial_width = specs.precision - prefix_width;
6261
246
            auto max_width_view =
6262
246
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
246
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
20
            it = w_it.base();
6265
20
            value_width = initial_width - w_it.count();
6266
20
        }
6267
123k
        else {
6268
123k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
90.0k
                                             specs, value, loc));
6270
6271
90.0k
            if (need_skipped_width) {
6272
8
                value_width = calculate_text_width(
6273
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
8
                        .view());
6275
8
            }
6276
90.0k
        }
6277
6278
        // Read postfix
6279
90.1k
        std::ptrdiff_t postfix_width = 0;
6280
90.1k
        if (it != rng.end()) {
6281
89.6k
            SCN_TRY(postfix_result,
6282
89.6k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
89.6k
                                 rd.skip_ws_before_read(), prefix_width,
6284
89.6k
                                 value_width));
6285
89.6k
            std::tie(it, postfix_width) = postfix_result;
6286
89.6k
        }
6287
6288
90.1k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
90.1k
            specs, prefix_width, value_width, postfix_width));
6290
90.1k
        return it;
6291
90.1k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6230
126k
    {
6231
126k
        const bool need_skipped_width =
6232
126k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
126k
        auto it = rng.begin();
6236
126k
        std::ptrdiff_t prefix_width = 0;
6237
126k
        if (specs.precision != 0) {
6238
0
            auto max_width_view = take_width(rng, specs.precision);
6239
0
            SCN_TRY(prefix_result,
6240
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
0
            it = prefix_result.first.base();
6242
0
            prefix_width = prefix_result.second;
6243
0
        }
6244
126k
        else {
6245
126k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
125k
            std::tie(it, prefix_width) = prefix_result;
6247
125k
        }
6248
125k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
125k
        std::ptrdiff_t value_width = 0;
6252
125k
        if (specs.precision != 0) {
6253
0
            if (specs.precision <= prefix_width) {
6254
0
                return detail::unexpected_scan_error(
6255
0
                    scan_error::invalid_fill,
6256
0
                    "Too many fill characters before value, "
6257
0
                    "precision exceeded before reading value");
6258
0
            }
6259
6260
0
            const auto initial_width = specs.precision - prefix_width;
6261
0
            auto max_width_view =
6262
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
0
            it = w_it.base();
6265
0
            value_width = initial_width - w_it.count();
6266
0
        }
6267
125k
        else {
6268
125k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
92.5k
                                             specs, value, loc));
6270
6271
92.5k
            if (need_skipped_width) {
6272
0
                value_width = calculate_text_width(
6273
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
0
                        .view());
6275
0
            }
6276
92.5k
        }
6277
6278
        // Read postfix
6279
92.5k
        std::ptrdiff_t postfix_width = 0;
6280
92.5k
        if (it != rng.end()) {
6281
92.0k
            SCN_TRY(postfix_result,
6282
92.0k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
92.0k
                                 rd.skip_ws_before_read(), prefix_width,
6284
92.0k
                                 value_width));
6285
92.0k
            std::tie(it, postfix_width) = postfix_result;
6286
92.0k
        }
6287
6288
92.5k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
92.5k
            specs, prefix_width, value_width, postfix_width));
6290
92.5k
        return it;
6291
92.5k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_25reader_impl_for_monostateIwEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6230
1.20k
    {
6231
1.20k
        const bool need_skipped_width =
6232
1.20k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
1.20k
        auto it = rng.begin();
6236
1.20k
        std::ptrdiff_t prefix_width = 0;
6237
1.20k
        if (specs.precision != 0) {
6238
492
            auto max_width_view = take_width(rng, specs.precision);
6239
492
            SCN_TRY(prefix_result,
6240
480
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
480
            it = prefix_result.first.base();
6242
480
            prefix_width = prefix_result.second;
6243
480
        }
6244
710
        else {
6245
710
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
710
            std::tie(it, prefix_width) = prefix_result;
6247
710
        }
6248
1.19k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
1.19k
        std::ptrdiff_t value_width = 0;
6252
1.19k
        if (specs.precision != 0) {
6253
480
            if (specs.precision <= prefix_width) {
6254
6
                return detail::unexpected_scan_error(
6255
6
                    scan_error::invalid_fill,
6256
6
                    "Too many fill characters before value, "
6257
6
                    "precision exceeded before reading value");
6258
6
            }
6259
6260
474
            const auto initial_width = specs.precision - prefix_width;
6261
474
            auto max_width_view =
6262
474
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
474
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
310
            it = w_it.base();
6265
310
            value_width = initial_width - w_it.count();
6266
310
        }
6267
710
        else {
6268
710
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
634
                                             specs, value, loc));
6270
6271
634
            if (need_skipped_width) {
6272
348
                value_width = calculate_text_width(
6273
348
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
348
                        .view());
6275
348
            }
6276
634
        }
6277
6278
        // Read postfix
6279
944
        std::ptrdiff_t postfix_width = 0;
6280
944
        if (it != rng.end()) {
6281
576
            SCN_TRY(postfix_result,
6282
576
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
576
                                 rd.skip_ws_before_read(), prefix_width,
6284
576
                                 value_width));
6285
576
            std::tie(it, postfix_width) = postfix_result;
6286
576
        }
6287
6288
944
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
944
            specs, prefix_width, value_width, postfix_width));
6290
864
        return it;
6291
944
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6230
277k
    {
6231
277k
        const bool need_skipped_width =
6232
277k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
277k
        auto it = rng.begin();
6236
277k
        std::ptrdiff_t prefix_width = 0;
6237
277k
        if (specs.precision != 0) {
6238
492
            auto max_width_view = take_width(rng, specs.precision);
6239
492
            SCN_TRY(prefix_result,
6240
480
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
480
            it = prefix_result.first.base();
6242
480
            prefix_width = prefix_result.second;
6243
480
        }
6244
277k
        else {
6245
277k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
276k
            std::tie(it, prefix_width) = prefix_result;
6247
276k
        }
6248
276k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
276k
        std::ptrdiff_t value_width = 0;
6252
276k
        if (specs.precision != 0) {
6253
480
            if (specs.precision <= prefix_width) {
6254
6
                return detail::unexpected_scan_error(
6255
6
                    scan_error::invalid_fill,
6256
6
                    "Too many fill characters before value, "
6257
6
                    "precision exceeded before reading value");
6258
6
            }
6259
6260
474
            const auto initial_width = specs.precision - prefix_width;
6261
474
            auto max_width_view =
6262
474
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
474
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
310
            it = w_it.base();
6265
310
            value_width = initial_width - w_it.count();
6266
310
        }
6267
276k
        else {
6268
276k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
270k
                                             specs, value, loc));
6270
6271
270k
            if (need_skipped_width) {
6272
348
                value_width = calculate_text_width(
6273
348
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
348
                        .view());
6275
348
            }
6276
270k
        }
6277
6278
        // Read postfix
6279
270k
        std::ptrdiff_t postfix_width = 0;
6280
270k
        if (it != rng.end()) {
6281
269k
            SCN_TRY(postfix_result,
6282
269k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
269k
                                 rd.skip_ws_before_read(), prefix_width,
6284
269k
                                 value_width));
6285
269k
            std::tie(it, postfix_width) = postfix_result;
6286
269k
        }
6287
6288
270k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
270k
            specs, prefix_width, value_width, postfix_width));
6290
270k
        return it;
6291
270k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6230
277k
    {
6231
277k
        const bool need_skipped_width =
6232
277k
            specs.width != 0 || specs.precision != 0;
6233
6234
        // Read prefix
6235
277k
        auto it = rng.begin();
6236
277k
        std::ptrdiff_t prefix_width = 0;
6237
277k
        if (specs.precision != 0) {
6238
492
            auto max_width_view = take_width(rng, specs.precision);
6239
492
            SCN_TRY(prefix_result,
6240
480
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6241
480
            it = prefix_result.first.base();
6242
480
            prefix_width = prefix_result.second;
6243
480
        }
6244
277k
        else {
6245
277k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6246
276k
            std::tie(it, prefix_width) = prefix_result;
6247
276k
        }
6248
276k
        auto prefix_end_it = it;
6249
6250
        // Read value
6251
276k
        std::ptrdiff_t value_width = 0;
6252
276k
        if (specs.precision != 0) {
6253
480
            if (specs.precision <= prefix_width) {
6254
6
                return detail::unexpected_scan_error(
6255
6
                    scan_error::invalid_fill,
6256
6
                    "Too many fill characters before value, "
6257
6
                    "precision exceeded before reading value");
6258
6
            }
6259
6260
474
            const auto initial_width = specs.precision - prefix_width;
6261
474
            auto max_width_view =
6262
474
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6263
474
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6264
310
            it = w_it.base();
6265
310
            value_width = initial_width - w_it.count();
6266
310
        }
6267
276k
        else {
6268
276k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6269
270k
                                             specs, value, loc));
6270
6271
270k
            if (need_skipped_width) {
6272
348
                value_width = calculate_text_width(
6273
348
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6274
348
                        .view());
6275
348
            }
6276
270k
        }
6277
6278
        // Read postfix
6279
270k
        std::ptrdiff_t postfix_width = 0;
6280
270k
        if (it != rng.end()) {
6281
269k
            SCN_TRY(postfix_result,
6282
269k
                    impl_postfix(ranges::subrange{it, rng.end()},
6283
269k
                                 rd.skip_ws_before_read(), prefix_width,
6284
269k
                                 value_width));
6285
269k
            std::tie(it, postfix_width) = postfix_result;
6286
269k
        }
6287
6288
270k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6289
270k
            specs, prefix_width, value_width, postfix_width));
6290
270k
        return it;
6291
270k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
6292
6293
    template <typename T>
6294
    scan_expected<iterator> operator()(T& value)
6295
3.46M
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
1.89M
                          basic_contiguous_scan_context<char_type>>) {
6300
1.89M
            auto rd = make_reader<T, char_type>();
6301
1.89M
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
1.85M
            return impl(rd, range, value);
6303
        }
6304
1.57M
        else if constexpr (!detail::is_type_disabled<T>) {
6305
1.57M
            auto rd = make_reader<T, char_type>();
6306
1.57M
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
1.56M
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
1.56M
                specs.width != 0) {
6310
1.56M
                return impl(rd, range, value);
6311
1.56M
            }
6312
6313
0
            auto crange = get_as_contiguous(range);
6314
0
            SCN_TRY(it, impl(rd, crange, value));
6315
0
            return ranges::next(range.begin(),
6316
0
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
3.46M
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char>(char&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<signed char>(signed char&)
Line
Count
Source
6295
53.2k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
                          basic_contiguous_scan_context<char_type>>) {
6300
            auto rd = make_reader<T, char_type>();
6301
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
            return impl(rd, range, value);
6303
        }
6304
53.2k
        else if constexpr (!detail::is_type_disabled<T>) {
6305
53.2k
            auto rd = make_reader<T, char_type>();
6306
53.2k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
53.2k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
53.2k
                specs.width != 0) {
6310
53.2k
                return impl(rd, range, value);
6311
53.2k
            }
6312
6313
0
            auto crange = get_as_contiguous(range);
6314
0
            SCN_TRY(it, impl(rd, crange, value));
6315
0
            return ranges::next(range.begin(),
6316
0
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
53.2k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<short>(short&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<int>(int&)
Line
Count
Source
6295
63.2k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
                          basic_contiguous_scan_context<char_type>>) {
6300
            auto rd = make_reader<T, char_type>();
6301
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
            return impl(rd, range, value);
6303
        }
6304
63.2k
        else if constexpr (!detail::is_type_disabled<T>) {
6305
63.2k
            auto rd = make_reader<T, char_type>();
6306
63.2k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
63.2k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
63.2k
                specs.width != 0) {
6310
63.2k
                return impl(rd, range, value);
6311
63.2k
            }
6312
6313
0
            auto crange = get_as_contiguous(range);
6314
0
            SCN_TRY(it, impl(rd, crange, value));
6315
0
            return ranges::next(range.begin(),
6316
0
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
63.2k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long>(long&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long long>(long long&)
Line
Count
Source
6295
64.4k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
                          basic_contiguous_scan_context<char_type>>) {
6300
            auto rd = make_reader<T, char_type>();
6301
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
            return impl(rd, range, value);
6303
        }
6304
64.4k
        else if constexpr (!detail::is_type_disabled<T>) {
6305
64.4k
            auto rd = make_reader<T, char_type>();
6306
64.4k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
64.4k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
64.4k
                specs.width != 0) {
6310
64.4k
                return impl(rd, range, value);
6311
64.4k
            }
6312
6313
0
            auto crange = get_as_contiguous(range);
6314
0
            SCN_TRY(it, impl(rd, crange, value));
6315
0
            return ranges::next(range.begin(),
6316
0
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
64.4k
    }
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
6295
46.8k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
                          basic_contiguous_scan_context<char_type>>) {
6300
            auto rd = make_reader<T, char_type>();
6301
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
            return impl(rd, range, value);
6303
        }
6304
46.8k
        else if constexpr (!detail::is_type_disabled<T>) {
6305
46.8k
            auto rd = make_reader<T, char_type>();
6306
46.8k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
46.8k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
46.8k
                specs.width != 0) {
6310
46.8k
                return impl(rd, range, value);
6311
46.8k
            }
6312
6313
0
            auto crange = get_as_contiguous(range);
6314
0
            SCN_TRY(it, impl(rd, crange, value));
6315
0
            return ranges::next(range.begin(),
6316
0
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
46.8k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6295
51.1k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
                          basic_contiguous_scan_context<char_type>>) {
6300
            auto rd = make_reader<T, char_type>();
6301
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
            return impl(rd, range, value);
6303
        }
6304
51.1k
        else if constexpr (!detail::is_type_disabled<T>) {
6305
51.1k
            auto rd = make_reader<T, char_type>();
6306
51.1k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
51.1k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
51.1k
                specs.width != 0) {
6310
51.1k
                return impl(rd, range, value);
6311
51.1k
            }
6312
6313
0
            auto crange = get_as_contiguous(range);
6314
0
            SCN_TRY(it, impl(rd, crange, value));
6315
0
            return ranges::next(range.begin(),
6316
0
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
51.1k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long>(unsigned long&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
6295
51.6k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
                          basic_contiguous_scan_context<char_type>>) {
6300
            auto rd = make_reader<T, char_type>();
6301
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
            return impl(rd, range, value);
6303
        }
6304
51.6k
        else if constexpr (!detail::is_type_disabled<T>) {
6305
51.6k
            auto rd = make_reader<T, char_type>();
6306
51.6k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
51.6k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
51.6k
                specs.width != 0) {
6310
51.6k
                return impl(rd, range, value);
6311
51.6k
            }
6312
6313
0
            auto crange = get_as_contiguous(range);
6314
0
            SCN_TRY(it, impl(rd, crange, value));
6315
0
            return ranges::next(range.begin(),
6316
0
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
51.6k
    }
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<float>(float&)
Line
Count
Source
6295
138k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
                          basic_contiguous_scan_context<char_type>>) {
6300
            auto rd = make_reader<T, char_type>();
6301
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
            return impl(rd, range, value);
6303
        }
6304
138k
        else if constexpr (!detail::is_type_disabled<T>) {
6305
138k
            auto rd = make_reader<T, char_type>();
6306
138k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
138k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
138k
                specs.width != 0) {
6310
138k
                return impl(rd, range, value);
6311
138k
            }
6312
6313
0
            auto crange = get_as_contiguous(range);
6314
0
            SCN_TRY(it, impl(rd, crange, value));
6315
0
            return ranges::next(range.begin(),
6316
0
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
138k
    }
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<double>(double&)
Line
Count
Source
6295
145k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
                          basic_contiguous_scan_context<char_type>>) {
6300
            auto rd = make_reader<T, char_type>();
6301
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
            return impl(rd, range, value);
6303
        }
6304
145k
        else if constexpr (!detail::is_type_disabled<T>) {
6305
145k
            auto rd = make_reader<T, char_type>();
6306
145k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
145k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
145k
                specs.width != 0) {
6310
145k
                return impl(rd, range, value);
6311
145k
            }
6312
6313
0
            auto crange = get_as_contiguous(range);
6314
0
            SCN_TRY(it, impl(rd, crange, value));
6315
0
            return ranges::next(range.begin(),
6316
0
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
145k
    }
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long double>(long double&)
Line
Count
Source
6295
148k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
                          basic_contiguous_scan_context<char_type>>) {
6300
            auto rd = make_reader<T, char_type>();
6301
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
            return impl(rd, range, value);
6303
        }
6304
148k
        else if constexpr (!detail::is_type_disabled<T>) {
6305
148k
            auto rd = make_reader<T, char_type>();
6306
148k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
148k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
148k
                specs.width != 0) {
6310
148k
                return impl(rd, range, value);
6311
148k
            }
6312
6313
0
            auto crange = get_as_contiguous(range);
6314
0
            SCN_TRY(it, impl(rd, crange, value));
6315
0
            return ranges::next(range.begin(),
6316
0
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
148k
    }
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6295
51.5k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
                          basic_contiguous_scan_context<char_type>>) {
6300
            auto rd = make_reader<T, char_type>();
6301
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
            return impl(rd, range, value);
6303
        }
6304
51.5k
        else if constexpr (!detail::is_type_disabled<T>) {
6305
51.5k
            auto rd = make_reader<T, char_type>();
6306
51.5k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
49.7k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
49.7k
                specs.width != 0) {
6310
49.7k
                return impl(rd, range, value);
6311
49.7k
            }
6312
6313
0
            auto crange = get_as_contiguous(range);
6314
0
            SCN_TRY(it, impl(rd, crange, value));
6315
0
            return ranges::next(range.begin(),
6316
0
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
51.5k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::basic_regex_matches<char> >(scn::v4::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::basic_regex_matches<wchar_t> >(scn::v4::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<wchar_t>(wchar_t&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<signed char>(signed char&)
Line
Count
Source
6295
18.2k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
                          basic_contiguous_scan_context<char_type>>) {
6300
            auto rd = make_reader<T, char_type>();
6301
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
            return impl(rd, range, value);
6303
        }
6304
18.2k
        else if constexpr (!detail::is_type_disabled<T>) {
6305
18.2k
            auto rd = make_reader<T, char_type>();
6306
18.2k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
18.2k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
18.2k
                specs.width != 0) {
6310
18.2k
                return impl(rd, range, value);
6311
18.2k
            }
6312
6313
0
            auto crange = get_as_contiguous(range);
6314
0
            SCN_TRY(it, impl(rd, crange, value));
6315
0
            return ranges::next(range.begin(),
6316
0
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
18.2k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<short>(short&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<int>(int&)
Line
Count
Source
6295
18.3k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
                          basic_contiguous_scan_context<char_type>>) {
6300
            auto rd = make_reader<T, char_type>();
6301
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
            return impl(rd, range, value);
6303
        }
6304
18.3k
        else if constexpr (!detail::is_type_disabled<T>) {
6305
18.3k
            auto rd = make_reader<T, char_type>();
6306
18.3k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
18.3k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
18.3k
                specs.width != 0) {
6310
18.3k
                return impl(rd, range, value);
6311
18.3k
            }
6312
6313
0
            auto crange = get_as_contiguous(range);
6314
0
            SCN_TRY(it, impl(rd, crange, value));
6315
0
            return ranges::next(range.begin(),
6316
0
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
18.3k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long>(long&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long long>(long long&)
Line
Count
Source
6295
18.4k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
                          basic_contiguous_scan_context<char_type>>) {
6300
            auto rd = make_reader<T, char_type>();
6301
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
            return impl(rd, range, value);
6303
        }
6304
18.4k
        else if constexpr (!detail::is_type_disabled<T>) {
6305
18.4k
            auto rd = make_reader<T, char_type>();
6306
18.4k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
18.4k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
18.4k
                specs.width != 0) {
6310
18.4k
                return impl(rd, range, value);
6311
18.4k
            }
6312
6313
0
            auto crange = get_as_contiguous(range);
6314
0
            SCN_TRY(it, impl(rd, crange, value));
6315
0
            return ranges::next(range.begin(),
6316
0
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
18.4k
    }
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
6295
18.1k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
                          basic_contiguous_scan_context<char_type>>) {
6300
            auto rd = make_reader<T, char_type>();
6301
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
            return impl(rd, range, value);
6303
        }
6304
18.1k
        else if constexpr (!detail::is_type_disabled<T>) {
6305
18.1k
            auto rd = make_reader<T, char_type>();
6306
18.1k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
18.1k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
18.1k
                specs.width != 0) {
6310
18.1k
                return impl(rd, range, value);
6311
18.1k
            }
6312
6313
0
            auto crange = get_as_contiguous(range);
6314
0
            SCN_TRY(it, impl(rd, crange, value));
6315
0
            return ranges::next(range.begin(),
6316
0
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
18.1k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6295
18.2k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
                          basic_contiguous_scan_context<char_type>>) {
6300
            auto rd = make_reader<T, char_type>();
6301
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
            return impl(rd, range, value);
6303
        }
6304
18.2k
        else if constexpr (!detail::is_type_disabled<T>) {
6305
18.2k
            auto rd = make_reader<T, char_type>();
6306
18.2k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
18.2k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
18.2k
                specs.width != 0) {
6310
18.2k
                return impl(rd, range, value);
6311
18.2k
            }
6312
6313
0
            auto crange = get_as_contiguous(range);
6314
0
            SCN_TRY(it, impl(rd, crange, value));
6315
0
            return ranges::next(range.begin(),
6316
0
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
18.2k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long>(unsigned long&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
6295
18.3k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
                          basic_contiguous_scan_context<char_type>>) {
6300
            auto rd = make_reader<T, char_type>();
6301
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
            return impl(rd, range, value);
6303
        }
6304
18.3k
        else if constexpr (!detail::is_type_disabled<T>) {
6305
18.3k
            auto rd = make_reader<T, char_type>();
6306
18.3k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
18.3k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
18.3k
                specs.width != 0) {
6310
18.3k
                return impl(rd, range, value);
6311
18.3k
            }
6312
6313
0
            auto crange = get_as_contiguous(range);
6314
0
            SCN_TRY(it, impl(rd, crange, value));
6315
0
            return ranges::next(range.begin(),
6316
0
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
18.3k
    }
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<float>(float&)
Line
Count
Source
6295
115k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
                          basic_contiguous_scan_context<char_type>>) {
6300
            auto rd = make_reader<T, char_type>();
6301
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
            return impl(rd, range, value);
6303
        }
6304
115k
        else if constexpr (!detail::is_type_disabled<T>) {
6305
115k
            auto rd = make_reader<T, char_type>();
6306
115k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
115k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
115k
                specs.width != 0) {
6310
115k
                return impl(rd, range, value);
6311
115k
            }
6312
6313
0
            auto crange = get_as_contiguous(range);
6314
0
            SCN_TRY(it, impl(rd, crange, value));
6315
0
            return ranges::next(range.begin(),
6316
0
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
115k
    }
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<double>(double&)
Line
Count
Source
6295
124k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
                          basic_contiguous_scan_context<char_type>>) {
6300
            auto rd = make_reader<T, char_type>();
6301
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
            return impl(rd, range, value);
6303
        }
6304
124k
        else if constexpr (!detail::is_type_disabled<T>) {
6305
124k
            auto rd = make_reader<T, char_type>();
6306
124k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
124k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
124k
                specs.width != 0) {
6310
124k
                return impl(rd, range, value);
6311
124k
            }
6312
6313
0
            auto crange = get_as_contiguous(range);
6314
0
            SCN_TRY(it, impl(rd, crange, value));
6315
0
            return ranges::next(range.begin(),
6316
0
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
124k
    }
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long double>(long double&)
Line
Count
Source
6295
126k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
                          basic_contiguous_scan_context<char_type>>) {
6300
            auto rd = make_reader<T, char_type>();
6301
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
            return impl(rd, range, value);
6303
        }
6304
126k
        else if constexpr (!detail::is_type_disabled<T>) {
6305
126k
            auto rd = make_reader<T, char_type>();
6306
126k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
126k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
126k
                specs.width != 0) {
6310
126k
                return impl(rd, range, value);
6311
126k
            }
6312
6313
0
            auto crange = get_as_contiguous(range);
6314
0
            SCN_TRY(it, impl(rd, crange, value));
6315
0
            return ranges::next(range.begin(),
6316
0
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
126k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6295
279k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
                          basic_contiguous_scan_context<char_type>>) {
6300
            auto rd = make_reader<T, char_type>();
6301
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
            return impl(rd, range, value);
6303
        }
6304
279k
        else if constexpr (!detail::is_type_disabled<T>) {
6305
279k
            auto rd = make_reader<T, char_type>();
6306
279k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
276k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
276k
                specs.width != 0) {
6310
276k
                return impl(rd, range, value);
6311
276k
            }
6312
6313
0
            auto crange = get_as_contiguous(range);
6314
0
            SCN_TRY(it, impl(rd, crange, value));
6315
0
            return ranges::next(range.begin(),
6316
0
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
279k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::basic_regex_matches<char> >(scn::v4::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::basic_regex_matches<wchar_t> >(scn::v4::basic_regex_matches<wchar_t>&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<signed char>(signed char&)
Line
Count
Source
6295
53.2k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
53.2k
                          basic_contiguous_scan_context<char_type>>) {
6300
53.2k
            auto rd = make_reader<T, char_type>();
6301
53.2k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
53.2k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
53.2k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<short>(short&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<int>(int&)
Line
Count
Source
6295
66.4k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
66.4k
                          basic_contiguous_scan_context<char_type>>) {
6300
66.4k
            auto rd = make_reader<T, char_type>();
6301
66.4k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
63.8k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
66.4k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long>(long&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long long>(long long&)
Line
Count
Source
6295
64.3k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
64.3k
                          basic_contiguous_scan_context<char_type>>) {
6300
64.3k
            auto rd = make_reader<T, char_type>();
6301
64.3k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
64.3k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
64.3k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<__int128>(__int128&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
6295
46.8k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
46.8k
                          basic_contiguous_scan_context<char_type>>) {
6300
46.8k
            auto rd = make_reader<T, char_type>();
6301
46.8k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
46.8k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
46.8k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6295
54.3k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
54.3k
                          basic_contiguous_scan_context<char_type>>) {
6300
54.3k
            auto rd = make_reader<T, char_type>();
6301
54.3k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
51.7k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
54.3k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long>(unsigned long&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
6295
51.5k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
51.5k
                          basic_contiguous_scan_context<char_type>>) {
6300
51.5k
            auto rd = make_reader<T, char_type>();
6301
51.5k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
51.5k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
51.5k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<void*>(void*&)
Line
Count
Source
6295
3.25k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
3.25k
                          basic_contiguous_scan_context<char_type>>) {
6300
3.25k
            auto rd = make_reader<T, char_type>();
6301
3.25k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
652
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
3.25k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<bool>(bool&)
Line
Count
Source
6295
3.30k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
3.30k
                          basic_contiguous_scan_context<char_type>>) {
6300
3.30k
            auto rd = make_reader<T, char_type>();
6301
3.30k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
1.03k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
3.30k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char>(char&)
Line
Count
Source
6295
3.25k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
3.25k
                          basic_contiguous_scan_context<char_type>>) {
6300
3.25k
            auto rd = make_reader<T, char_type>();
6301
3.25k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
706
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
3.25k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char32_t>(char32_t&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<float>(float&)
Line
Count
Source
6295
129k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
129k
                          basic_contiguous_scan_context<char_type>>) {
6300
129k
            auto rd = make_reader<T, char_type>();
6301
129k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
129k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
129k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<double>(double&)
Line
Count
Source
6295
136k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
136k
                          basic_contiguous_scan_context<char_type>>) {
6300
136k
            auto rd = make_reader<T, char_type>();
6301
136k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
134k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
136k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long double>(long double&)
Line
Count
Source
6295
136k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
136k
                          basic_contiguous_scan_context<char_type>>) {
6300
136k
            auto rd = make_reader<T, char_type>();
6301
136k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
136k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
136k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6295
44.5k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
44.5k
                          basic_contiguous_scan_context<char_type>>) {
6300
44.5k
            auto rd = make_reader<T, char_type>();
6301
44.5k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
42.6k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
44.5k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6295
3.25k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
3.25k
                          basic_contiguous_scan_context<char_type>>) {
6300
3.25k
            auto rd = make_reader<T, char_type>();
6301
3.25k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
3.10k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
3.25k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
6295
44.5k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
44.5k
                          basic_contiguous_scan_context<char_type>>) {
6300
44.5k
            auto rd = make_reader<T, char_type>();
6301
44.5k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
42.6k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
44.5k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<signed char>(signed char&)
Line
Count
Source
6295
18.2k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
18.2k
                          basic_contiguous_scan_context<char_type>>) {
6300
18.2k
            auto rd = make_reader<T, char_type>();
6301
18.2k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
18.2k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
18.2k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<short>(short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<int>(int&)
Line
Count
Source
6295
19.8k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
19.8k
                          basic_contiguous_scan_context<char_type>>) {
6300
19.8k
            auto rd = make_reader<T, char_type>();
6301
19.8k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
19.0k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
19.8k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long>(long&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long long>(long long&)
Line
Count
Source
6295
18.4k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
18.4k
                          basic_contiguous_scan_context<char_type>>) {
6300
18.4k
            auto rd = make_reader<T, char_type>();
6301
18.4k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
18.4k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
18.4k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<__int128>(__int128&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
6295
18.1k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
18.1k
                          basic_contiguous_scan_context<char_type>>) {
6300
18.1k
            auto rd = make_reader<T, char_type>();
6301
18.1k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
18.1k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
18.1k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6295
19.7k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
19.7k
                          basic_contiguous_scan_context<char_type>>) {
6300
19.7k
            auto rd = make_reader<T, char_type>();
6301
19.7k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
19.0k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
19.7k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long>(unsigned long&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
6295
18.3k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
18.3k
                          basic_contiguous_scan_context<char_type>>) {
6300
18.3k
            auto rd = make_reader<T, char_type>();
6301
18.3k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
18.3k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
18.3k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<void*>(void*&)
Line
Count
Source
6295
1.44k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
1.44k
                          basic_contiguous_scan_context<char_type>>) {
6300
1.44k
            auto rd = make_reader<T, char_type>();
6301
1.44k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
622
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
1.44k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<bool>(bool&)
Line
Count
Source
6295
1.51k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
1.51k
                          basic_contiguous_scan_context<char_type>>) {
6300
1.51k
            auto rd = make_reader<T, char_type>();
6301
1.51k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
888
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
1.51k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char>(char&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<wchar_t>(wchar_t&)
Line
Count
Source
6295
1.44k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
1.44k
                          basic_contiguous_scan_context<char_type>>) {
6300
1.44k
            auto rd = make_reader<T, char_type>();
6301
1.44k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
708
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
1.44k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char32_t>(char32_t&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<float>(float&)
Line
Count
Source
6295
115k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
115k
                          basic_contiguous_scan_context<char_type>>) {
6300
115k
            auto rd = make_reader<T, char_type>();
6301
115k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
115k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
115k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<double>(double&)
Line
Count
Source
6295
125k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
125k
                          basic_contiguous_scan_context<char_type>>) {
6300
125k
            auto rd = make_reader<T, char_type>();
6301
125k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
125k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
125k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long double>(long double&)
Line
Count
Source
6295
126k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
126k
                          basic_contiguous_scan_context<char_type>>) {
6300
126k
            auto rd = make_reader<T, char_type>();
6301
126k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
126k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
126k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6295
1.44k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
1.44k
                          basic_contiguous_scan_context<char_type>>) {
6300
1.44k
            auto rd = make_reader<T, char_type>();
6301
1.44k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
1.20k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
1.44k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6295
281k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
281k
                          basic_contiguous_scan_context<char_type>>) {
6300
281k
            auto rd = make_reader<T, char_type>();
6301
281k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
277k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
281k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
6295
281k
    {
6296
        if constexpr (!detail::is_type_disabled<T> &&
6297
                      std::is_same_v<
6298
                          context_type,
6299
281k
                          basic_contiguous_scan_context<char_type>>) {
6300
281k
            auto rd = make_reader<T, char_type>();
6301
281k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6302
277k
            return impl(rd, range, value);
6303
        }
6304
        else if constexpr (!detail::is_type_disabled<T>) {
6305
            auto rd = make_reader<T, char_type>();
6306
            SCN_TRY_DISCARD(rd.check_specs(specs));
6307
6308
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6309
                specs.width != 0) {
6310
                return impl(rd, range, value);
6311
            }
6312
6313
            auto crange = get_as_contiguous(range);
6314
            SCN_TRY(it, impl(rd, crange, value));
6315
            return ranges::next(range.begin(),
6316
                                ranges::distance(crange.begin(), it));
6317
        }
6318
        else {
6319
            SCN_EXPECT(false);
6320
            SCN_UNREACHABLE;
6321
        }
6322
281k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
6323
6324
    scan_expected<iterator> operator()(
6325
        typename basic_scan_arg<detail::default_context<char_type>>::handle)
6326
        const
6327
0
    {
6328
0
        SCN_EXPECT(false);
6329
0
        SCN_UNREACHABLE;
6330
0
    }
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle) const
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle) const
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle) const
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle) const
6331
6332
    range_type range;
6333
    const detail::format_specs& specs;
6334
    detail::locale_ref loc;
6335
};
6336
6337
template <typename Context>
6338
struct custom_reader {
6339
    using context_type = Context;
6340
    using char_type = typename context_type::char_type;
6341
    using parse_context_type = typename context_type::parse_context_type;
6342
    using iterator = typename context_type::iterator;
6343
6344
    template <typename T>
6345
    scan_expected<iterator> operator()(T&) const
6346
0
    {
6347
0
        SCN_EXPECT(false);
6348
0
        SCN_UNREACHABLE;
6349
0
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<signed char>(signed char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<short>(short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<int>(int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long>(long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long long>(long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<__int128>(__int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned char>(unsigned char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned short>(unsigned short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned int>(unsigned int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long>(unsigned long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long long>(unsigned long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned __int128>(unsigned __int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<void*>(void*&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<bool>(bool&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char>(char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<wchar_t>(wchar_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char32_t>(char32_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<float>(float&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<double>(double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long double>(long double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<signed char>(signed char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<short>(short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<int>(int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long>(long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long long>(long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<__int128>(__int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned char>(unsigned char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned short>(unsigned short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned int>(unsigned int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long>(unsigned long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long long>(unsigned long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<void*>(void*&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<bool>(bool&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char>(char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<wchar_t>(wchar_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char32_t>(char32_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<float>(float&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<double>(double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long double>(long double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) const
6350
6351
    scan_expected<iterator> operator()(
6352
        typename basic_scan_arg<detail::default_context<char_type>>::handle h)
6353
        const
6354
354k
    {
6355
354k
        SCN_TRY_DISCARD(h.scan(parse_ctx, ctx));
6356
144k
        return {ctx.begin()};
6357
354k
    }
scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle) const
Line
Count
Source
6354
171k
    {
6355
171k
        SCN_TRY_DISCARD(h.scan(parse_ctx, ctx));
6356
101k
        return {ctx.begin()};
6357
171k
    }
scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle) const
Line
Count
Source
6354
182k
    {
6355
182k
        SCN_TRY_DISCARD(h.scan(parse_ctx, ctx));
6356
42.2k
        return {ctx.begin()};
6357
182k
    }
6358
6359
    parse_context_type& parse_ctx;
6360
    context_type& ctx;
6361
};
6362
}  // namespace impl
6363
6364
SCN_END_NAMESPACE
6365
}  // namespace scn